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
  • 43,546
  • 8
  • 97
  • 150
von Mises
  • 693
  • 1
  • 5
  • 8
  • You need to install apt-file with sudo apt-get install apt-file and then you need to run sudo apt-get update and sudo apt-get install apt-file and sudo apt-file update. – mchid Feb 06 '19 at 16:26

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,012
Hugo Vieira
  • 1,272
  • 9
  • 10
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
  • 1
  • 3
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.

  • Same here. Not absolutely sure this is the primary reason but it might just be. Fyi - software was RoyalRender. – bossi Oct 25 '15 at 20:16
  • yeah, in my case I downloaded mongo tar.gz for not ubuntu (another Linux). When download mongo see dropdown list on mongo site and choose ubuntu. – Maxim Yefremov Jul 09 '16 at 07:34
  • 1
    same here... New to Ubuntu... this answer saved me after about 45mins of googling and trials – SourceVisor May 14 '17 at 21:24
  • Same here. 1 How did the others managed to get it to work? Perhaps they missed the "Ubuntu" reference in the OP? 2 Why would a distro matter? Isn't it compiled against the same architecture? – Ryuu Jan 08 '19 at 10:13
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
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

Michael Fayad
  • 241
  • 5
  • 10