Подтвердить что ты не робот

Полученное сообщение не может загрузить общую статистику объекта. Когда R запускается

Я использую R-3.0.2, скомпилированный из исходного кода на Linux 64, и после запуска R я получил следующее сообщение:

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/hlfernandez/Eclipse/workspace/Bioscope/R/linux/x64/R-3.0.2/library/stats/libs/stats.so':
  libgfortran.so.3: cannot open the shared object file: No existe el archivo o el directorio
Durante la inicialización - Mensajes de aviso perdidos
package ‘stats’ in options("defaultPackages") was not found 

Есть ли у кого-нибудь представление об источнике проблемы? Редко, что он говорит, что файл или каталог не существует, потому что он действительно существует.

Моя операционная система - Kubuntu 13.10, возможно, у меня есть недостающая библиотека.

4b9b3361

Ответ 1

Как-то ваша системная конфигурация или рабочая среда изменилась между временем, когда вы скомпилировали R, и временем, которое вы используете, в частности библиотека libgfortran.so.3 больше не может быть обнаружена. Вероятно, если вы делаете

$ R CMD ldd /path/to/R_HOME/library/stats/libs/stats.so

вы получите список успешно обнаруженных зависимостей ссылок

linux-vdso.so.1 =>  (0x00007fff213ff000)
libRlapack.so => /path/to/R_HOME/lib/libRlapack.so (0x00007fcafa557000)

а затем сбой

    libgfortran.so.3 => ???

указывает, что libgfortran.so.3 не найден. Вы можете искать его

locate libgfortran.so.3

а затем выясните, что вы сделали, чтобы сделать его недоступным для R (возможно, ldconfig будет вашим другом). Но libgfortran, скорее всего, будет в стандартном расположении, поэтому вы, вероятно, удалили его в какой-то другой операции и должны были переустановить его или перекомпилировать R против нового местоположения libgfortran.

Укажите расположение libgfortran с помощью системной команды ldconfig (необходимы sudo-привилегии) ​​или переменной среды LD_LIBRARY_PATH. Но на самом деле это не обязательно, libgfortan должен был быть установлен с помощью диспетчера пакетов ОС и таким образом, чтобы не требовалась специальная дополнительная конфигурация.

Ответ 2

EDIT: я обнаружил, что размещение недостающих библиотек в каталоге R/lib решает проблему, большое спасибо за помощь!

Если я запустил команду ldd, я получаю:

bin/R CMD ldd ./library/stats/libs/stats.so
/home/hlfernandez/Eclipse/workspace/Bioscope/R/linux/x64/R-3.0.2

linux-vdso.so.1 =>  (0x00007fff47dfe000)

libRlapack.so => /home/hlfernandez/Eclipse/workspace/Bioscope/R/linux/x64/R-3.0.2/lib/libRlapack.so (0x00007fb595bb0000)

libRblas.so => /home/hlfernandez/Eclipse/workspace/Bioscope/R/linux/x64/R-3.0.2/lib/libRblas.so (0x00007fb595983000)

libgfortran.so.3 => not found

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb595665000)

libR.so => /home/hlfernandez/Eclipse/workspace/Bioscope/R/linux/x64/R-3.0.2/lib/libR.so (0x00007fb5950c3000)

libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fb594eb4000)

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb594c97000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb5948ce000)

libgfortran.so.3 => not found

libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007fb59468c000)

librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb594483000)

 libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb59427f000)

/lib64/ld-linux-x86-64.so.2 (0x00007fb596205000)

 libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007fb594056000)

Как вы сказали, происходит сбой с libgfortran.so.3. ¿Есть ли способ указать вручную, где находится файл libgfortran3.so?