linkage dynamique : dans quel ordre parcourt-on les dossier concernés ?
Chacha
Membre
Salut,
Suite à un bug dans un programme, j'ai discuté un peu avec son développeur, et il est apparu que le problème vient du fait que le programme en question embarque des librairies (dynamiques) qui sont déjà installées chez moi, mais dans une autre version (incompatible).
J'ai fait quelques essais, et effectivement, vu qu'au lancement MacOS trouve les librairies dans /usr/local/lib, il ne va pas aller les chercher dans le framework interne du programme. D'où, crash, car ce ne sont pas les bonnes.
La question est donc : comment peut-on forcer MacOS à d'abord charger en priorité les librairies internes du prog ? Est-ce possible ? Est-ce impossible pour des raisons de sécurité ? Est-ce MacOS utilise le DYLD_LIBRARY_PATH de mon .profile ? Est-ce de la responsabilité du programmeur ou de l'utilisateur de définir cela ? Est-ce que c'est lors de l'édition de liens que ça se décide ?
Je ne me poserais pas ces questions pour un programme Unix en ligne de commande, là je connais la réponse. Je me pose la question pour des applications .app, qui embarquent des Frameworks, et qui sont lancées "graphiquement".
+
Chacha
Suite à un bug dans un programme, j'ai discuté un peu avec son développeur, et il est apparu que le problème vient du fait que le programme en question embarque des librairies (dynamiques) qui sont déjà installées chez moi, mais dans une autre version (incompatible).
J'ai fait quelques essais, et effectivement, vu qu'au lancement MacOS trouve les librairies dans /usr/local/lib, il ne va pas aller les chercher dans le framework interne du programme. D'où, crash, car ce ne sont pas les bonnes.
La question est donc : comment peut-on forcer MacOS à d'abord charger en priorité les librairies internes du prog ? Est-ce possible ? Est-ce impossible pour des raisons de sécurité ? Est-ce MacOS utilise le DYLD_LIBRARY_PATH de mon .profile ? Est-ce de la responsabilité du programmeur ou de l'utilisateur de définir cela ? Est-ce que c'est lors de l'édition de liens que ça se décide ?
Je ne me poserais pas ces questions pour un programme Unix en ligne de commande, là je connais la réponse. Je me pose la question pour des applications .app, qui embarquent des Frameworks, et qui sont lancées "graphiquement".
+
Chacha
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
+
Chacha