В CentOS Linux 7.4 не удается установить пакет R "httpuv" - PullRequest
0 голосов
/ 12 мая 2018

В настоящее время я использую CentOS Linux 7.4.1708 (Core). Я пытался установить пакет httpuv в R различными способами, но безрезультатно. Всегда заканчивается ошибкой:

  CC       src/unix/libuv_la-procfs-exepath.lo
  CC       src/unix/libuv_la-proctitle.lo
  CC       src/unix/libuv_la-sysinfo-loadavg.lo
  CC       src/unix/libuv_la-sysinfo-memory.lo
  CCLD     libuv.la
libtool:   error: require no space between '-L' and '-L/n/helmod/apps/centos7/Core/pcre/8.37-fasrc02/lib'
make[1]: *** [libuv.la] Error 1
make[1]: Leaving directory `/tmp/Rtmp5Dj7hL/R.INSTALL5c046d96dc92/httpuv/src/libuv'
make: *** [libuv/.libs/libuv.a] Error 2
ERROR: compilation failed for package ‘httpuv’

У кого-нибудь есть мысли о том, что здесь происходит? Спасибо.

Ответы [ 2 ]

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

Предыдущий ответ частично верен в том смысле, что он определяет libuv как отсутствующую зависимость.

В CentOS 7 вы можете добавить это с помощью yum install libuv-devel, а затем попытаться установить пакет снова с помощью install.packages("httpuv")и при условии, что это ваша единственная проблема, она должна правильно скомпилироваться.

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

Ошибка говорит о том, что в libuv.la есть ошибка библиотеки.Команды cc и CCLD показывают, что это ошибка компиляции - очень вероятно, из-за gcc, сгенерированного при попытке скомпилировать libuv.la.

В Ubuntu Linux я бы посмотрел в таких случаях:

$ apt search httpuv
# which gives:
# r-cran-httpuv
*Пакеты 1005 * R, в большинстве своем нуждающиеся в других системных зависимостях (библиотеки вне R и т. Д.), Обычно имеют пакет в репозитории apt.

Затем вы просто делаете:

$ sudo apt install r-cran-httpuv

И затем каждую зависимостьпроблемы решены (хотя возможно, что R просит вас обновить / обновить пакет после установки - что иногда работает, но иногда нет).

Я искал, может ли CentOS использовать apt: https://everyday -tech.com / apt-get-on-centos /

Еще одна возможность для вас - использовать conda, которая отлично подходит для решения таких проблем с зависимостями.Затем люди, как и apt, подготовили для вас conda-пакеты, которые предоставляют все зависимости пакетов.

$ conda install -c conda-forge r-httpuv

Если вы не знаете conda, я настоятельно рекомендую вам этот урок: https://www.youtube.com/watch?v=YJC6ldI3hWk (отКори Шефер, который дает отличные - главным образом Python - учебные пособия).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...