58

Im trying to use twoBitToFa, which is a small program released by the University of California Santa Cruz, that uncompresses large genome files and I get this error:

error while loading shared libraries: libssl.so.10: cannot open shared object file: No     such file or directory

I tried searching for what package provides it. I switched from Fedora which had yum provides but when looking for the Ubuntu equivalent, I came across apt-file search but when I tried that I got a command not found error.

How can I get this libssl file, and more generally, how can I search for what package provides a file so I can do this by myself in the future?

mchid
  • 44,904
  • 8
  • 102
  • 162
von Mises
  • 693

7 Answers7

64

Lets make sure that you have your SSL installed and updated:

sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev

Now lets fix the naming of the file by creating a link:

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

And finally, lets inform the developer about this flaw so he can fix it :)

mmorris
  • 1,022
Hugo Vieira
  • 1,272
10

Seems that mongo is expecting libssl files in /usr/lib/:

  sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/libssl.so.10
  sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10
Dziamid
  • 501
8

I am one of the developers of these tools. Our binaries don't support Ubuntu officially (yet). The official way to fix this problem is to recompile from source, which just has gotten extremely simple (see https://github.com/NullModel/kentUtils). We are currently trying to build static binaries without the libssl dependency.

Max
  • 191
6

In my case, I was foolishly using an application compiled for Red Hat Enterprise Linux on my Ubuntu machine. Merely using the Ubuntu version solved the problem.

This is similar to the lack of support for Ubuntu that Max describes.

1

Just install libssl1.0.0 manually:

wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
sudo apt install ./libssl1.0.0_1.0.2n-1ubuntu5.6_amd64.deb
swissbuechi
  • 121
  • 3
0

Regarding apt-file, first you have to install it

sudo apt install apt-file

and update its cache

sudo apt-file update

Then apt-file search some-file should work.

Regarding the package installations, I think you shouldn't need libssl-dev, you need only libssl1.0.0 - this is the runtime library. The second one is for development

0

I somehow got my symlinks corrupted when installing a newer version of OpenSSL. To fix this situation, I fixed my symlinks in /usr/lib64. E.g. sudo ln -sf libssl.so.0.9.8e libssl.so.10