невозможно установить пакет R "nloptr" (R3.6.2 в Ubuntu 16.04) - проблема компилятора C ++ - PullRequest
0 голосов
/ 06 февраля 2020

У меня проблемы с установкой пакета "car" после обновления R до 3.6.2 (с 3.4) в Ubuntu 16.04 из-за (как минимум одной) зависимости (nloptr), которую также нельзя установить. Кажется, это проблема компилятора C ++ (он использует некоторые устаревшие настройки «config», однако я теряюсь, пытаясь это исправить).

Я вызвал следующую команду в R (из терминала) :

install.packages ("nloptr")

Информация об ошибке:

Installing package into ‘/home/heike/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
trying URL 'https://ftp.fau.de/cran/src/contrib/nloptr_1.2.1.tar.gz'
Content type 'application/x-gzip' length 2448313 bytes (2.3 MB)
==================================================
downloaded 2.3 MB
* installing source package ‘nloptr’ ...
** package ‘nloptr’ successfully unpacked and MD5 sums checked
** using staged installation
'config' variable 'CPP' is deprecated
'config' variable 'CXXCPP' is deprecated
checking whether the C++ compiler works... no
configure: error: in /tmp/RtmpPLaJFA/R.INSTALL5e5ed06eeac/nloptr': configure: error: C++ compiler cannot create executables See config.log' for more details
ERROR: configuration failed for package ‘nloptr’

Шаги, предпринятые до сих пор

  • изменено зеркало CRAN и запись source.list
  • удалено и повторно установлено R 3.6.2 (также на другом компьютере), та же проблема осталось

Информация о системе

  • Версия ОС: Ubuntu 16.04 (x86_64-p c - linux -gnu (64-разрядная версия) )
  • R Версия: 3.6.2 (2019-12-12)

1 Ответ

0 голосов
/ 06 февраля 2020

Мы проделали большую работу, чтобы улучшить установку nloptr. По сути, у вас есть несколько вариантов:

  • , если присутствует системная версия библиотеки nlopt, используйте ее - это самый простой способ, поэтому попробуйте установить его через sudo apt-get install libnlopt-dev, а затем переустановите

  • , если он не найден, тогда происходит загрузка исходного кода и сборки, и это, похоже, не работает на вашей почти четырехлетней системе Ubuntu, как есть трудно поддерживать все разновидности - но это работает плавно на новых (я запускаю Ubuntu тоже, но в настоящее время 19.10)

  • есть бинарные файлы для вас, как, см. Ubuntu страница пакетов - однако они могут не соответствовать вашей текущей версии R, которая не соответствует вашей версии дистрибутива R

  • в зависимости от того, откуда вы получили R (устанавливали ли вы .deb ?) Вы могли бы использовать PPA Майкла Раттера, чтобы получить текущий r-cran-nloptr

Все это также можно подробно обсудить на r-sig- список Debian для R в Debian и Ubuntu.

Редактировать: * 10 31 * В ответ на комментарий ниже:

  • Чтобы узнать, о чем знает пакет apt, выполните apt-cache policy r-cran-nloptr. По приведенной выше ссылке мы знаем Ubuntu имеет r-cran-nloptr для вашей (очень старой) установки Xenial. Однако он будет стоить sh с очень новым и текущим R, который вы используете. Такие как затраты на смешивание и сопоставление.

  • Чтобы получить доступ к PPA Rutter и его более чем четырем тысячам текущих двоичных файлов, см. Четвертый абзац в верхней части Ubuntu на CRAN README

Редактировать 2: Возможно, я был слишком пессимистичен c. PPA Rutter для текущих двоичных файлов R имеет верные, xenial и bioni c. См https://launchpad.net/~marutter/+archive/ubuntu/c2d4u3.5

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