Lorsque vous utilisez HP-UX, je peux utiliser l’utilitaire chatr pour signaler différents atsortingbuts internes d’une bibliothèque partagée. Cela me permettra également de modifier les atsortingbuts internes des bibliothèques partagées que j’ai créées.
L’utilitaire chatr peut signaler et, dans certains cas, modifier des éléments tels que:
Un tel utilitaire est-il disponible pour Solaris?
Edit: Freaky! Grâce à la réponse de mark4o ci-dessous, j’ai revu la sortie elfdump pour un système typique .so (libm.so.2 sur Sol 10). Cependant, et voici la partie bizarre, j’ai mal écrit la commande pour entrer:
elfdump libm.so.2 | moe
Dans un coup de sérénité incroyable, cela m’a redonné le message d’utilisation d’un utilitaire appelé moe dont la section de description de page de manuel indique:
L’utilitaire moe manifeste l’extension optimale d’un nom de chemin contenant des jetons d’éditeur d’exécution réservés. Ces jetons peuvent être utilisés pour définir des dépendances, des fichiers et des chemins d’exécution dans des objects dynamics. L’expansion de ces jetons à l’exécution fournit un mécanisme flexible pour sélectionner des objects et des chemins de recherche performants sur cette machine.
Cela m’aidera à comprendre pourquoi un fichier libm.so.2 shlib n’est pas compatible sur les deux machines différentes, laissant mon exécutable incomplet incapable de démarrer sur un serveur.
Pour afficher les informations, voir les elfdump
Solaris elfdump
et pvs
. Pour le débogage des problèmes de liaison, lari
et moe
peuvent également être utiles. Cependant, ces utilitaires ne permettent pas de modifier la bibliothèque.
À partir de Solaris 11 (et de certaines versions d’OpenSolaris et de Solaris Express, mais pas de Solaris 10 ou version antérieure), il existe désormais un outil elfedit permettant de modifier les chemins d’exécution et les atsortingbuts similaires.