Comment obtenir le chemin de la bibliothèque du système sous Unix (Linux, FreeBSD)
-
19-09-2019 - |
Question
J'ai besoin d'une manière plus ou moins programmatique portable pour interroger la liste de chemin de bibliothèque dynamique. Pour Linux, je peux concaténer le $LD_LIBRARY_PATH
et le contenu de /etc/ld.so.conf
(traitement des directives include
au besoin et éventuellement le filtrage par l'architecture), mais cela ne fonctionne pas par exemple sur FreeBSD.
En fin de compte, je besoin d'une fonction Python pour le faire. Il peut appeler gcc ou d'autres commandes externes si nécessaire.
La solution
Pour Linux et FreeBSD, vous pouvez essayer de travailler à travers la sortie de ldconfig(8)
. Les options pour la liste des bibliothèques sont différentes si (-p
sur Linux , -r
sur FreeBSD .) Hope cela aide.
Edit:
Solaris est différent - voir man crle
.
Mac OS X est encore différente - voir man dyld
.