У меня установлен R, но когда я пытаюсь его запустить, я получаю:
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/MY_MSG_RUN$ R
/mnt/galaxyData/custom/bin/lib64/R/bin/exec/R: error while loading shared libraries: liblzma.so.2: cannot open shared object file: No such file or directory
Вот команда ldd, чтобы узнать, о чем она думает?
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/MY_MSG_RUN$ ldd /mnt/galaxyData/custom/bin/lib64/R/bin/exec/R
linux-vdso.so.1 => (0x00007fff201ff000)
libRblas.so => /mnt/galaxyData/custom/bin/lib64/R/lib/libRblas.so (0x00007f9a04184000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9a03e67000)
libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007f9a03c24000)
liblzma.so.2 => not found
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9a03a20000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9a03662000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9a043b0000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f9a0343b000)
Вы, ребята, знаете, почему он не находит liblzma.so.2 и где я могу взять этот файл и поместить его, чтобы R нашел его?
Я вижу, что пакет liblzma-dev установлен, но не lzma или liblzma2. Другой недостаток в этом вопросе - я нахожусь на общем хосте, поэтому я не могу выполнить apt-get для установки этих пакетов. (По крайней мере, у меня нет рута)
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/MY_MSG_RUN$ dpkg -s liblzma-dev
Package: liblzma-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 476
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Source: xz-utils
Version: 5.1.1alpha+20110809-3
Depends: liblzma5 (= 5.1.1alpha+20110809-3)
Suggests: liblzma-doc
Description: XZ-format compression library - development files
XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm
compression format, which provides memory-hungry but powerful
compression (often better than bzip2) and fast, easy decompression.
.
The native format of liblzma is XZ; it also supports raw (headerless)
streams and the older LZMA format used by lzma. (For 7-Zip's related
format, use the p7zip package instead.) This package provides the
development library needed to build programs using liblzma.
Original-Maintainer: Jonathan Nieder <jrnieder@gmail.com>
Homepage: http://tukaani.org/xz/
Поскольку на вашем компьютере работает ubuntu, я предлагаю установить R как пакет ubuntu. Таким образом, менеджер пакетов гарантирует, что установленные библиотеки и двоичные файлы соответствуют друг другу.
Редактировать: Теперь я вижу, что у вас нет root-доступа. Но, возможно, ты сможешь бежать debootstrap
с помощью fakeroot
чтобы получить свой собственный менеджер пакетов и посмотреть, что он установит. Или вам придется распаковать *.deb
файлы самостоятельно и попытайтесь исправить любые проблемы, вызванные жестко заданными путями. Настройка LD_LIBRARY_PATH
может стать большим первым шагом в этом направлении. Обратите внимание, что пакет ubuntu будет использовать liblzma.so.5
, так что, по крайней мере, это зависимость, которую вам не нужно устанавливать отдельно.
Если вы не можете использовать предварительно скомпилированные двоичные файлы, установленные менеджером пакетов, скомпилируйте R из исходных кодов, чтобы он скомпилировался с библиотеками, доступными в вашей системе.
Если вы тоже не можете этого сделать, получите библиотеки из того же источника, из которого вы получили свои двоичные файлы R.
Я закончил тем, что сделал это, я не уверен, что это вызовет проблемы в будущем, но по крайней мере R запускается.
Я сделал символическую ссылку на /usr/lib/x86_64-linux-gnu/liblzma.so.5, назвав ее liblzma.so.2.
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/MY_MSG_RUN$ cp /usr/lib/x86_64-linux-gnu/liblzma.so.5 /mnt/galaxyData/custom/bin/lib64/R/lib
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/MY_MSG_RUN$ cd /mnt/galaxyData/custom/bin/lib64/R/lib
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/bin/lib64/R/lib$ ls
liblzma.so.5 libRblas.so libRlapack.so
ubuntu@ip-xx-250-202:/mnt/galaxyData/custom/bin/lib64/R/lib$ ln -s liblzma.so.5 liblzma.so.2