问题
I'm using Omnet++ and Veins for simulations and it was working fine until I upgraded from Ubuntu 15 to 16.04 LTS last night. Now, I get the following error when trying to run a simulation: error while loading shared libraries: libmpi.so.1: cannot open shared object file: No such file or directory
I searched for libmpi.so.1 and it seems it is missing. There is a file libmpi.so and libmpi.so.12 in /usr/lib/openmpi/lib but not libmpi.so.1. I tried uninstalling and reinstalling the packages openmpi-bin, libopenmpi-dev as well as OpenMPI which I downloaded from the website. I also set the variable in bashrc and profile (which was recommended online) with export LD_LIBRARY_PATH:=$PATH:/usr/lib/openmpi/lib/
None of these approaches worked and I still get the same error. Any suggestions on how to fix it and how to get the file libmpi.so.1?
回答1:
I could fix the problem by adding a symbolic link libmpi.so.1 in /usr/lib that points to the existing libmpi.so.12 (which again points to the location of the actual file in openmpi/lib).
Apparently, it was a problem with the version of OpenMPI since on my other system, which I didn't update, there was a symbolic link libmpi.so.1 pointing to libmpi.so.1.0.8 (but no libmpi.so.12).
来源:https://stackoverflow.com/questions/36860315/error-because-file-libmpi-so-1-missing