Linux - Utilisation de ldconfig
Disons que j'ai ajouté une bibliothèque foo..1.1.1 vers un chemin qui est inclus dans /etc/ld.so.conf
Quand je lance ldconfig sur le système, je reçois des liens foo..1.1 et foo..1 à toto..1.1.1
Comment puis-je modifier le comportement aussi pour obtenir le foo.donc, le lien à toto..1.1.1?
source d'informationauteur Yorgos Pagles
Vous devez vous connecter pour publier un commentaire.
ldconfig regarde à l'intérieur de tous les objets partagés qu'il trouve, à chercher le nom. Il crée alors un lien à l'aide que soname que le nom du lien. C'est classique (mais loin d'être universellement fait) pour le soname le nom et la version de la bibliothèque, de sorte que votre bibliothèque de foo..1.1 a un nom de foo..1 et ldconfig va faire un lien appelé qui.
Aucune partie de l'exécution du système de recherche ou sait quelque chose sur le nom foo.. Qui est utilisé lorsque vous liez vos programmes à la bibliothèque. Il n'y a aucun point en ayant ce lien sauf si vous avez également tous les autres fichiers de développement (en-têtes, etc) pour la bibliothèque, donc il n'y a pas de point dans ldconfig créant automatiquement. Et puisque le nom de la liaison à utiliser n'est qu'une convention, et dans ce cas n'est pas stocké dans le fichier, il n'y a aucun moyen pour ldconfig pour savoir quel nom pour créer.
Normalement, ce serait créé à la main, dans l'install de la cible de l'Makefile; lorsqu'une bibliothèque est emballé pour une distribution de linux sur le lien qui vit normalement dans le paquet-dev avec les fichiers d'en-tête.
Juste faire le lien vous-même:
Noter que pour les applications à utiliser les bibliothèques de cette manière, ils ont besoin d'être explicitement liées à l'encontre de la sans version de l'objet partagé. C'est à dire: c'est un mécanisme permettant de contourner le chargeur dynamique de la version correspondant complètement de système.