Das Problem, das ich hier gelöst wurde konfrontiert: Loading shared library in open-mpi/ mpi-runMPI - Fehler beim Laden der gemeinsam genutzten Bibliotheken
ich weiß nicht wie, Einstellung LD_LIBRARY_PATH
oder Angabe -x LD_LIBRARY_PATH
behebt das Problem, wenn meine Installation selbst die erforderlichen -L Argumente gibt. Meine Installation ist in ~/mpi/
Ich habe auch meine Compile-Link-Konfigurationen enthalten.
$ mpic++ -showme:version
mpic++: Open MPI 1.6.3 (Language: C++)
$ mpic++ -showme
g++ -I/home/vigneshwaren/mpi/include -pthread -L/home/vigneshwaren/mpi/lib
-lmpi_cxx -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl
$ mpic++ -showme:libdirs
/home/vigneshwaren/mpi/lib
$ mpic++ -showme:libs
mpi_cxx mpi dl m rt nsl util m dl % Notice mpi_cxx here %
Als ich mit mpic++ <file>
kompilierte und lief mit mpirun a.out
habe ich einen (Shared Library) Linkerfehler
error while loading shared libraries: libmpi_cxx.so.1:
cannot open shared object file: No such file or directory
Der Fehler wird behoben LD_LIBRARY_PATH
durch Einstellung. Die Frage ist wie und warum? Was vermisse ich? Warum ist LD_LIBRARY_PATH
erforderlich, wenn meine Installation gut aussieht.
Seien Sie sicher, dass Ihre 'LD_LIBRARY_PATH' ist in Ihrem' .bashrc' overwitten ist wie meins mit CUDA war. Du willst etwas wie 'export LD_LIBRARY_PATH =/lib64/openmpi/lib: $ LD_LIBRARY_PATH' –