J'ai un programme Fortran que je lance sur macOS 10.12.6. Le code est compilé à l’aide d’un Makefile, dans lequel toutes les bibliothèques incluses ont également leur chemin. Pour une des bibliothèques (et une seule), mon exécutable ne semble pas pouvoir le trouver. Mon code est compilé correctement mais je reçois cette erreur d'exécution au début du programme:
dyld: Library not loaded: libslatec.so
Referenced from: path_to_PWD/exe/executable
Reason: image not found
Voici comment j'ajoute ma bibliothèque:
LIB_SLATEC = -L$(HOME)/usr/lib/slatec/lib -lslatec
Si je fais que ls $HOME/usr/lib/slatec/lib
je reçois: libslatec.so
.
Courir otool -L path_to_exe | grep slatec
je reçois: libslatec.so (compatibility version 0.0.0, current version 0.0.0)
. Je vois qu'il n'y a pas de chemin spécifié ici. Si je copie la bibliothèque dans mon lecteur, $PWD
le code s'exécute comme prévu. J'ai également essayé d'ajouter le chemin d'accès à la bibliothèque LD_LIBRARY_PATH
mais cela n'a rien changé.
Une idée du problème?
la source
*.so
sont un peu rares, et sont généralement à la place*.dylib
sur macOS ...