Ошибки при установке зависимостей R после новой установки R в Ubuntu 18.04 - PullRequest
0 голосов
/ 30 мая 2018

Система: Ubuntu 18.04

Первоначальная ошибка, которая обнаружилась, побудила меня попытаться переустановить R и зависимости:

Error: package or namespace load failed for 'lubridate' in dyn.load(file, DLLpath = DLLpath, ...):  unable to load shared object '/usr/local/lib/R/site-library/stringi/libs/stringi.so':   libicui18n.so.57: cannot open shared object file: No such file or directory

Шаги для воспроизведения:

  1. Установить R: apt install r-base
  2. Попробуйте установить зависимости R: install.packages(c("dplyr", "lubridate", "qcc", "forecast"), repos='http://cran.us.r-project.org')

Ошибка, которая отображается во время установки:

/usr/local/lib/R/site-library/BH/include/boost/smart_ptr/scoped_ptr.hpp:74:31: warning: 'template<class> class std::auto_ptr' is deprecated

Ошибка, которая отображается после установки:

The downloaded source packages are in
    '/tmp/RtmpnulsEe/downloaded_packages'
Warning message:
In install.packages(c("dplyr", "lubridate", "qcc", "forecast", "stringi"),  :
  installation of package 'forecast' had non-zero exit status

После очистки и повторной установки r-base и R зависимости, я вижу это ... (уже проверил, что libcurl4-openssl-dev была последней версией):

Error: package or namespace load failed for 'forecast' in dyn.load(file, DLLpath = DLLpath, ...): 
unable to load shared object '/usr/local/lib/R/site-library/curl/libs/curl.so':
/usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/local/lib/R/site-library/curl/libs/curl.so)

Обновление: Видимо, это что-то вforecast библиотека, потому что я воспроизвел эту ошибку следующим образом:

$ R
> library(forecast)
Error: package or namespace load failed for 'forecast' in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/usr/local/lib/R/site-library/curl/libs/curl.so':
  /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /usr/local/lib/R/site-library/curl/libs/curl.so)

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

После попытки выполнить следующее (очистка и переустановка R между каждым шагом):

  1. apt purge r-base
  2. Добавлено / удалено несколько различных PPA, прежде чем они не будут реализованыиз них поддерживал бионического бобра.Результат: Release not found.
  3. Нашел PPA Майкла Раттера и попытался его использовать.Результат: то же сообщение об ошибке сверху ('CURL_OPENSSL_3' not found).
  4. Попытка нескольких решений этой ТА статьи .Результат: то же сообщение об ошибке сверху ('CURL_OPENSSL_3' not found).
  5. Прочитано этой статьи и выполнено следующее в R:

    > remove.packages("curl")
    > install.packages("curl")
    > install.packages(c("dplyr", "lubridate", "qcc", "forecast", "stringi", "curl"), repos='http://cran.us.r-project.org')
    

И все заработало как задумано.

0 голосов
/ 30 мая 2018

Ваша первоначальная проблема заключается в том, что stringi был создан для дистрибутива версии libicu, которая изменилась.Поскольку этот дистрибутив не знает, что у вас есть lubridate в / usr / local, он что-то меняет и ломает.

Есть несколько способов исправить это.Самый простой (и самый узкий) - убедиться, что у вас установлена ​​libicu-dev.Затем вы можете переустановить (т.е. перестроить stringi), после чего будет загружена lubridate.

В остальном вы просто сходите с ума, бросая все, что движется, к стене.Вам нужно потратить некоторое время, чтобы понять, что вы можете либо установить все эти в виде двоичных файлов (т.е. из PPA Майкла Раттера на панели запуска), либо из источника.Ваш звонок.У меня есть более старый ответ, объясняющий разницу здесь (как и в других последующих действиях здесь), и мы также помогаем в списке r-sig-debian.

Но вкратце: прочитайте это ПРОЧИТАЙТЕ в CRAN (особенно первые несколько параграфов) и рассмотрите PPA.

...