0

I have R installed but when I try to launch it I get:

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

Here is the ldd command to see what it's thinking?

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)

Do you guys know why it's not finding liblzma.so.2 and where I can get that file and put it so that R finds it?

I see that the liblzma-dev package appears to be installed but not lzma or liblzma2. The other wrench in this question is I'm on a shared host so I can't do an apt-get to install those packages. (At least I don't have root)

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/
Massimo
  • 68,714
  • 56
  • 196
  • 319
Greg_the_Ant
  • 489
  • 7
  • 25

2 Answers2

1

Seeing as your machine seems to run ubuntu, I suggest install R as an ubuntu package. That way, the package manager will ensure that installed libraries and binaries match one another.

Edit: I now see that you don't have root access. But perhaps you can run debootstrap using fakeroot to get your own package manager, and see what that installs. Or you'll have to unpack the *.deb files yourself, and try to fix up any problems introduced by hardcoded paths. Setting LD_LIBRARY_PATH might be a big first step in that direction. Notice that the ubuntu package will use liblzma.so.5, so at least that appears to be a dependency you won't need to install separately.

If you cannot use precompiled binaries installed by a package manager, compile R from sources, to get it compiled against the libraries available on your system.

If you cannot do that either, obtain the libraries from the same source from where you obtained your R binaries.

MvG
  • 1,793
  • 14
  • 18
0

I ended up doing this, I'm not sure if it will cause problems down the line but at least R starts.

I made a symbolic link to /usr/lib/x86_64-linux-gnu/liblzma.so.5 calling it 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
Greg_the_Ant
  • 489
  • 7
  • 25
  • 1
    Changing the SONAME may well lead to runtime errors, including unexpected crashes. Don't! – MvG Jul 26 '12 at 21:38