ldconfig
peut lister toutes les bibliothèques auxquelles il a accès. Ces bibliothèques sont également stockées dans son cache.
/sbin/ldconfig -v -N
explorera tous les chemins de bibliothèque habituels, listera toutes les bibliothèques disponibles, sans reconstruire le cache (ce qui n'est pas possible si vous n'êtes pas un utilisateur root). Il ne prend PAS en compte les bibliothèques dans LD_LIBRARY_PATH (contrairement à ce que disait ce post avant d'éditer) mais vous pouvez passer des bibliothèques supplémentaires à la ligne de commande en utilisant la ligne ci-dessous :
/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)
Vous pouvez compiler un programme de test simple avec gcc et lier votre bibliothèque. Ensuite, vous pouvez vérifier les bibliothèques utilisées avec ldd. J'utilise quelque chose comme ça :
echo "int main(){}" | gcc -x c++ -Wl,--no-as-needed -lmylib - && ldd a.out | grep mylib
-Wl,--no-as-needed
empêche l'éditeur de liens de supprimer la bibliothèque, car aucun symbole de la bibliothèque n'est utilisé.
Remplacer globalement (espace) par :
avec LD_LIBRARY_PATH
/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH)