1

I received an executable that was compiled on a 64 bit linux machine. I'm currently working with this executable on a 64 bit linux machine.

When executing the code, I keep getting the error

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

libmpi_usempif08.so.40 is not in my LD_LIBRARY_PATH, but the following are

lrwxrwxrwx 1 blah blah      26 Jun 17  2016 libmpi_usempif08.so -> libmpi_usempif08.so.11.1.0
lrwxrwxrwx 1 blah blah      26 Jun 17  2016 libmpi_usempif08.so.11 -> libmpi_usempif08.so.11.1.0
-rwxr-xr-x 1 blah blah  286931 Jun 17  2016 libmpi_usempif08.so.11.1.0

Is there any way I can tell my executable (without recompiling it because I don't have that option) to look for these instead of the one that ends in .so.40?

roulette01
  • 1,984
  • 2
  • 13
  • 26
  • 1
    Possible duplicate of [Can I change 'rpath' in an already compiled binary?](https://stackoverflow.com/q/13769141/608639). Update the rpath for the location of `libmpi_usempif08.so.40`. Or, make `libmpi_usempif08.so.40` a link to another compatible version of the library. – jww Mar 17 '19 at 00:18
  • @jww Thanks. With the latter (link) method, is that with symlinks? Edit: I don't think this is with symlinks. I thought symlinks is for linking files that exist. In this case the `libmpi_usempif08.so.40` doesn't actually exist. – roulette01 Mar 17 '19 at 00:30

0 Answers0