2017-12-16 3 views
0

libboost_mpi.so.1.65.1 befindet sich unter/home/batuhan/usr/lib, wie Sie können siehe enter image description hereFehler beim Laden von gemeinsam genutzten Bibliotheken: libboost_mpi.so.1.65.1: keine solche Datei oder kein Verzeichnis - obwohl die Datei dort ist

aber obwohl ich Bibliothekspfad gebe ich nicht mein Programm laufen kann, enter image description here

siehe Wie kann ich dies zu überwinden, verbrachte ich Stunden damit, um diesen Fehler zu bekommen, aber nichts scheint zu funktionieren.

+1

Bitte bearbeiten Sie Ihre Frage und kopieren/fügen Sie die Nachricht ein, es gibt keinen Grund, hier einen Screenshot zu haben. –

Antwort

0

Kurze Antwort: setzen Sie Ihre Bibliothekspfad in die Umwelt zu:

export LD_LIBRARY_PATH=/home/batuhan/usr/lib:${LD_LIBRARY_PATH} 

ich auf Ihre Rechenknoten hier ein gemeinsames Home-Verzeichnis gehe davon aus, dh die Bibliotheksdatei auf den Computern, auf denen Sie Ihre MPI verfügbar Prozesse werden ausgeführt.

Mehr Details: Sie können es auch über mpirun unter Verwendung der -env Option übergeben. Der genaue Name der Option kann abhängig von Ihrer MPI-Implementierung abweichen (versuchen Sie man mpirun).

-env <name> <value> 

Wenn Sie hart Code des Bibliothekspfad in der ausführbaren Datei während der Kompilierung wollten könnten Sie die -rpath Option des Linkers verwenden, die Sie durch in Ihrem Compiler-Aufruf passieren können:

mpic++ -Wl,-rpath -Wl,/home/batuhan/usr/lib <etc..> 

Sie können die Auflösung von dynamischen Bibliotheken überprüfen mit

Hoffnung, die hilft.

Verwandte Themen