Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Fusion de ld.so.cache ou utilisation de librairies distinctes de même nom
Envoyé par: oudoubah

Bonjour,

Je cherche à faire quelque chose de ... tordu (au moins, vous êtes prévenus ;-))

J'ai une machine qui comporte plusieurs environnements chrootés. Dans chaque environnement, j'ai une arborescence, qui correspond à une version d'application.
Bien entendu, j'ai donc plein de librairies qui portent le même nom mais qui sont différentes.
Un petit schéma :
/
/chroot_1/monappli1/lib/lib.so
/chroot_1/monappli1/bin/run
/chroot_2/monappli2/lib/lib.so
/chroot_2/monappli2/bin/run

Mon problème, c'est que /chroot_1/monappli1/bin/run utilise la librairie /chroot_1/monappli1/lib/lib1.so et a besoin de le "voir". (idem pour l'appli2)

J'ai joué un temps certain avec le LD_LIBRARY_PATH (en rajoutant les chemins /monappli1/lib et /monappli2/lib). Ca marche pour la majorité des cas.

Le problème, c'est lorsqu'on utilise par exemple sudo, la variable LD_LIBRARY_PATH est réinitialisée, donc perte de chemin des librairies.

La piste que j'explore, pour le moment sans succès, c'est de voir si on peut fusionner deux ld.so.cache (l'un fait dans le premier environnement, l'autre dans le second).

Ce que je ne peux pas faire : modifier quoique ce soit au niveau de l'appli, ni de ses scripts.

Si quelqu'un aurait une idée, je suis preneur!

Merci!

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 6 February 2009 16:31:22
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Fusion de ld.so.cache ou utilisation de librairies distinctes de même nom
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons