Установка R 3.5.0 с --enable-R-shlib - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь установить R 3.5.0 из источника с флагом --enable-R-shlib под Linux Mint. Настройка и установка без флага работает нормально, но RStudio требует, чтобы флаг был установлен. Однако при работе

./configure --enable-R-shlib
make

Я получаю ошибку

/usr/bin/ld: CommandLineArgs.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
CommandLineArgs.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:177: recipe for target 'libR.so' failed
make[3]: *** [libR.so] Error 1
make[3]: Leaving directory '/home/hps/Downloads/R-3.5.0/src/main'
Makefile:135: recipe for target 'R' failed
make[2]: *** [R] Error 2
make[2]: Leaving directory '/home/hps/Downloads/R-3.5.0/src/main'
Makefile:28: recipe for target 'R' failed
make[1]: *** [R] Error 1
make[1]: Leaving directory '/home/hps/Downloads/R-3.5.0/src'
Makefile:60: recipe for target 'R' failed
make: *** [R] Error 1

Я попытался установить флаг -fPIC, как указано в сообщении об ошибке, следуя совету из [1]

CC="gcc -fPIC" ./configure --enable-R-shlib

безрезультатно, я все еще получаю то же сообщение об ошибке.

[1] Передача флага gcc через make-файл

1 Ответ

0 голосов
/ 01 июня 2018

После добавления этих PPAs для Ubuntu я смог обновить R до 3.5.0 для моей Linux Mint 17.3 Rosa.

sudo add-apt-repository ppa:marutter/rrutter3.5
sudo add-apt-repository ppa:marutter/c2d4u
sudo apt-get update

Ссылка: https://cran.r -project.org / bin / linux / ubuntu /

Редактировать: для компиляции из исходного кода следуйте предложению здесь

sudo apt-get update
sudo apt-get build-dep r-base
wget https://cran.r-project.org/src/base/R-3/R-3.5.0.tar.gz
tar -xvf R-3.5.0.tar.gz
cd R-3.5.0
./configure --enable-R-shlib
make
...