2016-08-17 4 views
4

Недавно я обновился до F24, и теперь в моей сессии R я не могу получить несколько пакетов для загрузки, sp. reshape2, latex2exp, knitr и другие.libicu и stringi на Fedora 24, вызывающие R головные боли

Первоначальная проблема, которую я обнаружил, заключалась в том, что F24 использует libicu56, тогда как эти пакеты ожидают libicu54. Я последовал предложение в this thread, чтобы установить символические ссылки с нужной версии:

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 

Это начальная ошибка ушла, но теперь у меня есть это:

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 

Это приводит меня к пакету STRINGI для R, но я не могу загрузить его - это дает ту же ошибку.

Я обновил F24 и все пакеты R, а также.

Любые идеи?

ответ

1

Это просто случилось со мной после обновления СИС (Gentoo). Другим решением является удаление и установка снова stringi, поскольку он ищет конкретный файл библиотеки, который больше не существует.

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

Если ваш .Rprofile вызывает library(stringi), то вы должны начать сеанс, используя R --vanilla для того, чтобы сделать это, иначе он будет держать неудачу.

Другое решение с --disable-pkg-config работает также. Это сделает stringi build icu для себя, а не полагается на систему (исходный код поставляется с копией icu).

+0

Это сработало. Похоже, проблема была связана с нарушенной цепью зависимостей. – KirkDCO

3

Я был в состоянии установить пакет на стринги Fedora 24, загрузив пакет tar.gz из CRAN, а затем выполните следующую команду:

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