2016-08-17 2 views
4

J'ai récemment mis à jour vers F24, et maintenant dans ma session R je ne peux pas obtenir quelques paquets à charger, sp. reshape2, latex2exp, knitr et autres.libicu et stringi sur Fedora 24 causant R maux de tête

Le problème initial que j'ai trouvé était que F24 utilise libicu56 alors que ces paquets attendent libicu54. Je suivi une suggestion this thread pour définir les liens symboliques avec la version souhaitée:

ln -s /usr/lib64/libicui18n.so.56 /usr/lib64/libicui18n.so.54  
ln -s /usr/lib64/libicuuc.so.56 /usr/lib64/libicuuc.so.54 
ln -s /usr/lib64/libicudata.so.56 /usr/lib64/libicudata.so.54 

Cette erreur initiale est parti, mais maintenant je ceci:

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
    unable to load shared object '/home/uname/R/x86_64-redhat-linux-gnu-library/3.3/stringi/libs/stringi.so': 
    /home/uname/R/x86_64-redhat-linux-gnu-library/3.3/stringi/libs/stringi.so: undefined symbol: _ZTIN6icu_548ByteSinkE 

Cela me conduit à l'ensemble de stringi pour R, mais je n'arrive pas à le charger - ça donne la même erreur.

J'ai également mis à jour F24 et tous les packages R.

Des idées?

Répondre

1

Ce qui me vient après une mise à jour ICU (Gentoo). Une autre solution consiste à supprimer et à réinstaller stringi, car il cherche un fichier de bibliothèque spécifique qui n'existe plus.

remove.packages('stringi') 
install.packages('stringi') 

Si votre .Rprofile déclenche library(stringi), vous devez démarrer une session en utilisant R --vanilla pour ce faire, sinon il continuera d'échouer. L'autre solution avec --disable-pkg-config fonctionne aussi bien. Cela fera que stringi construira icu pour lui-même plutôt que de s'en remettre au système (la source est livrée avec une copie de icu).

+0

Cela a fonctionné. Semble une chaîne de dépendance cassée était le problème. – KirkDCO

3

j'ai pu installer le paquet stringi sur fedora 24 en téléchargeant le tar.gz de Cran puis exécutez la commande suivante:

R CMD INSTALL stringi_1.1.1.tar.gz --configure-args='--disable-pkg-config'