J'ai des bibliothèques partagées/dynamiques installées dans un répertoire sandbox. Je construis quelques applications qui lient les bibliothèques. Je suis à la recherche de ce qui semble être une différence entre OSX et Linux à cet égard et je ne suis pas sûr de ce qu'est la (meilleure) solution. Sous OSX, l'emplacement de la bibliothèque elle-même est enregistré dans la bibliothèque, de sorte que si vos applications sont liées, l'exécutable sait où chercher la bibliothèque lors de l'exécution. Cela fonctionne comme prévu avec mon sandbox, car l'exécutable y recherche des chemins d'installation à l'échelle du système.Comment lier des bibliothèques partagées dans le répertoire local, OSX vs Linux
Sous Linux, je n'arrive pas à faire fonctionner ça. Apparemment, l'emplacement de la bibliothèque n'est pas présent dans la bibliothèque elle-même. Si je comprends bien, vous devez ajouter les dossiers qui contiennent des bibliothèques à /etc/ld.so.conf et régénérer le cache ld en lançant ldconfig.
Cela ne semble pas faire l'affaire pour moi parce que mes bibliothèques sont situées dans un répertoire personnel de l'utilisateur. Il semble que ldconfig n'aime pas ça, ce qui est logique.
Comment puis-je résoudre ce problème? Je ne veux pas retirer les bibliothèques de mon bac à sable.
Je pensais en quelque sorte LD_LIBRARY_PATH a été utilisé par ldconfig. Je ne savais pas que vous pouviez le changer de façon dynamique. Il fonctionne comme un charme. Merci! –
J'ai voté cette réponse, mon erreur :-p –
'-Wl, -rpath,/chemin/vers/sandbox' – Jed