Установка R завершается неудачно из-за "неопределенной ссылки на libiconv"

У меня проблема с установкой R 3.5.1. Хотя я определил путь к библиотеке "libiconv" в "cshrc", установка завершается с таким сообщением:

-L"../../lib" -lRblas -L/usr/lib/gcc/x86_64-redhat-linux/4.4.4 -lgfortran -lm   -lreadline  -lpcre -llzma -lbz2 -lz -lrt -ldl -lm
platform.o: In function `do_eSoftVersion':
/opt/local/rstudio/R-3.5.1/src/main/platform.c:3088: undefined reference to `_libiconv_version'
sysutils.o: In function `Riconv':
/opt/local/rstudio/R-3.5.1/src/main/sysutils.c:799: undefined reference to `libiconv'
/opt/local/rstudio/R-3.5.1/src/main/sysutils.c:799: undefined reference to `libiconv'
/opt/local/rstudio/R-3.5.1/src/main/sysutils.c:799: undefined reference to `libiconv'
/opt/local/rstudio/R-3.5.1/src/main/sysutils.c:799: undefined reference to `libiconv'
sysutils.o: In function `Riconv_close':
 ...

Кстати, у меня нет привилегий root.

После 2 дней поиска я не смог найти причину.

Любая помощь будет оценена.

4 ответа

Решение

Я мог бы понять это, переустановив R с помощью Conda. Не только R, но и другие необходимые библиотеки и rstudio могут быть легко установлены через conda. Например, R, rstudio и plotly (библиотека) устанавливаются с помощью следующей команды:

conda install -c r r-essentials —-prefix=/where/to/install
conda install -c r rstudio  —-prefix=/where/to/install
conda install -c conda-forge r-plotly —-prefix=/where/to/install

Наслаждаться.

Вы, кажется, используете систему glibc (свидетели: компилятор, который нацелен x86_64-redhat-linuxи тег centos что вы установили).

В системе glibc вам не нужен GNU libiconv, потому что в glibc уже есть полнофункциональная утилита iconv. Так что просто удалите libiconv, затем пересоберите R с нуля (make distclean; configure; make).

Я понял это, отредактировав $PATH, make был введен в заблуждение кондой.

echo $PATH
:/gatk:/opt/miniconda/envs/gatk/bin:/opt/miniconda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/gatk:/opt/miniconda/envs/gatk/bin:/opt/miniconda/bin:
export PATH

У меня была такая же ошибка. Из ваших комбинированных ответов я понял, что это Конда. Исправить:

  • conda deactivate
  • make distclean, configureа также make
Другие вопросы по тегам