0
votes

I was trying to run a program called "solvate" and I found a following error. Kindly let me know how do I solve this problem. I am using "ubuntu 14.04", 64 bit Thank you in advance!

With regards, Jana

Error message:

./solvate: error while loading shared libraries: libboost_program_options-mt.so.1.38.0: cannot open shared object file: No such file or directory

1

1 Answers

1
votes

./solvate: error while loading shared libraries: libboost_program_options-mt.so.1.38.0

This error means that the executable solvate could not find one of the Boost libraries that it requires. There are several common causes:

  1. the library is not present on the system at all, or
  2. the library is present, but not in a location that runtime linker searches, or
  3. the library is present, but for the wrong architecture

locate libboost_program_options-mt.so.1.38.0
/usr/lib/libboost_program_options-mt.so.1.38.0

This output tells us that neither 1, nor 2 are likely. Therefore cause 3 must be it.

On a 64-bit Ubuntu, /usr/lib is where 64-bit libraries are installed. You can verify that /usr/lib/libboost_program_options-mt.so.1.38.0 is a 64-bit library with:

file /usr/lib/libboost_program_options-mt.so.1.38.0

which should print:

/usr/lib/libboost_program_options-mt.so.1.38.0: ELF 64-bit LSB  shared object, x86-64, version 1 (SYSV), dynamically linked ...

It must also be true that ./solvate is a 32-bit executable. You can confirm that with

file ./solvate

which should print

./solvate: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), ...

Finally, to solve your problem:

sudo apt-get install libboost-all-dev:i386