error while loading shared libraries: libboost_iostreams.so.1.60.0
1
0
Entering edit mode
4.9 years ago
ashaneev07 ▴ 20

Hiii.... Getting error messege like the following on my ubuntu 14.o4 after the installation of softwares.How can i solve this? Need suggestions..thank you.

error while loading shared libraries: libboost_iostreams.so.1.60.0: cannot open shared object file: No such file or directory
software error • 15k views
ADD COMMENT
0
Entering edit mode

How do you think we can help you if you even don't mention which tool you are using, and how you installed it?

ADD REPLY
0
Entering edit mode

i've installed augustus via miniconda. But, when im searching for augustus it shows like this

ADD REPLY
0
Entering edit mode

You could try installing boost as well with conda: https://anaconda.org/anaconda/boost

ADD REPLY
8
Entering edit mode
4.9 years ago
Mensur Dlakic ★ 27k

As the error says, the program is looking for libboost_iostreams.so.1.60.0 because it has been compiled with that library. Either it can't find libboost_iostreams at all, or it can't find that particular version. A proper way to fix this is to compile from source as in that case your program will be built with a library that is present in your system. That is the best suggestion I can give you.

A hacky way of solving this is to convince the program that you have the library. Type:

locate libboost_iostreams

On my computer this results in:

/usr/lib/x86_64-linux-gnu/libboost_iostreams.a

/usr/lib/x86_64-linux-gnu/libboost_iostreams.so

/usr/lib/x86_64-linux-gnu/libboost_iostreams.so.1.65.1

This means that I have the library, but my version is higher than 1.60. That's usually OK, so go to that directory (cd /usr/lib/x86_64-linux-gnu) and type:

sudo ln -s libboost_iostreams.so.1.65.1 libboost_iostreams.so.1.60.0

Not that you need root (sudo) privilege for this to work. We are creating a symbolic link here from an existing file to a file that your program is looking for. Note that this only has a chance of working if your library version is actually higher than what's needed by the program.

If the locate command above finds nothing, or if your library version is lower than 1.60, on Debian/Ubuntu you can install all required boost libraries:

sudo apt-get install libboost-all-dev

Note again that this is unlikely to install exactly the version 1.60, so you may have to do symbolic linking anyway.

As I said on top, the cleanest solution is to compile from source.

ADD COMMENT
0
Entering edit mode

Thank you so much for your valuable comments... I've checked with the "locate " command and found that my library version is lower (libboost_iostreams.so.1.54.0) than 1.60. So go for the next step ie, sudo apt-get install libboost-all-dev
but, after running this i got that libboost-all-dev is already the newest version. But the problem with augustus is still existing... again stuckwith this...!!!

ADD REPLY
2
Entering edit mode

For Ubuntu 14.04 (aka Xenial), boost 1.54 seems to be the latest available version (see here). You could do Ubuntu distribution upgrade which will give you access to higher versions of boost, but that may be a bit too involved given the problem you are trying to solve. A faster option would be to manually install the library version you need by following these instructions. All available versions of boost are listed here for you to choose. I wouldn't necessarily go for the latest boost version as the compiler tools on Ubuntu 14.04 may not be able to handle it.

ADD REPLY

Login before adding your answer.

Traffic: 1762 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6