Установка пакета R, без компилятора - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь установить некоторые пакеты из исходного кода на сервере linux (RHEL).Но всякий раз, когда пакет требует некоторой компиляции C ++, он терпит неудачу.

Например, я пытаюсь установить пакет Ckmeans.1d.dp.Если я позвоню R CMD INSTALL Ckmeans.1.dp_4.2.1.tar.gz, я получу следующий вывод (усеченный), где вы можете увидеть, что компилятор пропущен.

...* installing *source* package ‘Ckmeans.1d.dp’ ...
** libs
I/usr/include/R -DNDEBUG  -I/usr/local/include       -c Ckmeans.1d.dp.cpp -o Ckmeans.1d.dp.o
make: I/usr/include/R: Command not found
...
-shared -L/usr/local/lib64 -o Ckmeans.1d.dp.so Ckmeans.1d.dp.o Ckmeans.1d.dp_main.o dynamic_prog.o fill_SMAWK.o fill_log_linear.o fill_quadratic.o select_levels.o weighted_select_levels.o -L/usr/lib64/R/lib -lR
/bin/sh: line 2: -shared: command not found
make: *** [Ckmeans.1d.dp.so] Error 127
ERROR: compilation failed for package ‘Ckmeans.1d.dp’

В настоящее время я застрял на сервере, который имеет только R 3.1.1, и я неиметь права администратора.Для $Rhome/etc/Makeconf определены CXX и CC.Я также проверил, установлены g++ и gcc.

Что здесь может происходить?

1 Ответ

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

Неизменно переменная окружения с «пустым» значением расширяется. Возможно (только предположив здесь), что пакет будет использовать C ++ 11, поэтому $(CXX11} -shared расширяется и ... становится -shared, и возникает ошибка.

Посмотрите на настройки R, например, через less $(R HOME)/etc/Makevars и посмотрите, что он ожидает.

Я думаю, что вы можете, если нужно, установить gcc и др. Ниже, скажем, ~/bin. Для некоторых пакетов потребуется компилятор ...

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