Comment exécuter un programme en utilisant une librairie spécifique?
5 réponses
thomas
Bonjour à tous,
voici mon problème: le programme "foo" a besoin de "libtruc v2"
(debian/experimental) et j'ai libtruc v1 installée (debian/stable). Je
ne souhaite pas upgrader cette librairie pour ne pas mélanger des
paquets "stable" avec des paquets "experimental". Je souhaiterais
exécuter foo en utilisant non pas libtruc v1 dans /usr/lib mais la v2
qui se trouve dans un autre répertoire. Quelque chose du genre:
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Boisson
Le Wed, 31 Dec 2008 14:18:40 +0100 thomas a écrit:
Bonjour à tous,
voici mon problème: le programme "foo" a besoin de "libtruc v2" (debian/experimental) et j'ai libtruc v1 installée (debian/stable). Je ne souhaite pas upgrader cette librairie pour ne pas mélanger des paquets "stable" avec des paquets "experimental". Je souhaiterais exécuter foo en utilisant non pas libtruc v1 dans /usr/lib mais la v2 qui se trouve dans un autre répertoire. Quelque chose du genre:
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le Wed, 31 Dec 2008 14:18:40 +0100
thomas <thomas.bsd@gmail.com> a écrit:
Bonjour à tous,
voici mon problème: le programme "foo" a besoin de "libtruc v2"
(debian/experimental) et j'ai libtruc v1 installée (debian/stable). Je
ne souhaite pas upgrader cette librairie pour ne pas mélanger des
paquets "stable" avec des paquets "experimental". Je souhaiterais
exécuter foo en utilisant non pas libtruc v1 dans /usr/lib mais la v2
qui se trouve dans un autre répertoire. Quelque chose du genre:
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le Wed, 31 Dec 2008 14:18:40 +0100 thomas a écrit:
Bonjour à tous,
voici mon problème: le programme "foo" a besoin de "libtruc v2" (debian/experimental) et j'ai libtruc v1 installée (debian/stable). Je ne souhaite pas upgrader cette librairie pour ne pas mélanger des paquets "stable" avec des paquets "experimental". Je souhaiterais exécuter foo en utilisant non pas libtruc v1 dans /usr/lib mais la v2 qui se trouve dans un autre répertoire. Quelque chose du genre:
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
thomas
2008/12/31 François Boisson :
Le Wed, 31 Dec 2008 14:18:40 +0100 thomas a écrit:
Mais je ne sais pas comment indiquer au programme foo un autre chemin de librairie.
Merci, le programme s'exécute bien! Il y a juste un petit problème: dans le shell où j'ai exécuté cette commande, certains programmes ont un comportement bizarre. Je pense que la version la plus récente de libtruc (ou, pour l'appeler par son vrai nom, libglib2) reste chargée et qu'elle met un peu le pastis. Si je lance un autre shell, pas de problème. Donc, pour peaufiner les choses: y a-t-il un moyen de décharger la librairie après l'exécution du programme?
2008/12/31 François Boisson <user.anti-spam@maison.homelinux.net>:
Le Wed, 31 Dec 2008 14:18:40 +0100
thomas <thomas.bsd@gmail.com> a écrit:
Mais je ne sais pas comment indiquer au programme foo un autre chemin
de librairie.
Merci, le programme s'exécute bien! Il y a juste un petit problème:
dans le shell où j'ai exécuté cette commande, certains programmes ont
un comportement bizarre. Je pense que la version la plus récente de
libtruc (ou, pour l'appeler par son vrai nom, libglib2) reste chargée
et qu'elle met un peu le pastis. Si je lance un autre shell, pas de
problème. Donc, pour peaufiner les choses: y a-t-il un moyen de
décharger la librairie après l'exécution du programme?
Merci, le programme s'exécute bien! Il y a juste un petit problème: dans le shell où j'ai exécuté cette commande, certains programmes ont un comportement bizarre. Je pense que la version la plus récente de libtruc (ou, pour l'appeler par son vrai nom, libglib2) reste chargée et qu'elle met un peu le pastis. Si je lance un autre shell, pas de problème. Donc, pour peaufiner les choses: y a-t-il un moyen de décharger la librairie après l'exécution du programme?
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
thomas
2008/12/31 thomas :
Non, et c'est ça qui est curieux. En fait, je me suis mal exprimé: je ne dois pas lancer un autre shell pour que tout ce remette à marcher normalement, mais un autre terminal. Bizarre, non? Si j'exécute "./script_de_lancement", ou même "bash ./script_de_lancement", rien à faire, ensuite, la librairie semble chargée pour tout ce que j'exécute dans ce terminal. (Je dois ouvrir un xterm tout neuf.)
Errata: "lsof -p $$" me montre que la librairie est bien déchargée après l'exécution du programme. C'est donc le programme lui-même qui doit être à l'origine du problème dans le terminal, et pas la librairie. Un bug qui n'a rien à voir avec ma question initiale, donc.
2008/12/31 thomas <thomas.bsd@gmail.com>:
Non, et c'est ça qui est curieux. En fait, je me suis mal exprimé: je
ne dois pas lancer un autre shell pour que tout ce remette à marcher
normalement, mais un autre terminal. Bizarre, non? Si j'exécute
"./script_de_lancement", ou même "bash ./script_de_lancement", rien à
faire, ensuite, la librairie semble chargée pour tout ce que j'exécute
dans ce terminal. (Je dois ouvrir un xterm tout neuf.)
Errata: "lsof -p $$" me montre que la librairie est bien déchargée
après l'exécution du programme. C'est donc le programme lui-même qui
doit être à l'origine du problème dans le terminal, et pas la
librairie. Un bug qui n'a rien à voir avec ma question initiale, donc.
Non, et c'est ça qui est curieux. En fait, je me suis mal exprimé: je ne dois pas lancer un autre shell pour que tout ce remette à marcher normalement, mais un autre terminal. Bizarre, non? Si j'exécute "./script_de_lancement", ou même "bash ./script_de_lancement", rien à faire, ensuite, la librairie semble chargée pour tout ce que j'exécute dans ce terminal. (Je dois ouvrir un xterm tout neuf.)
Errata: "lsof -p $$" me montre que la librairie est bien déchargée après l'exécution du programme. C'est donc le programme lui-même qui doit être à l'origine du problème dans le terminal, et pas la librairie. Un bug qui n'a rien à voir avec ma question initiale, donc.
François Boisson
Le Wed, 31 Dec 2008 15:36:34 +0100 Sylvain Sauvage a écrit:
$ LD_LIBRARY_PATH=/opt/foodir /opt/foodir/foo
LD_LIBRARY_PATH : chemin vers des bibliothèques LD_PRELOAD : bibliothèques à charger _en plus_ des bibliothèques liées et avant elles (donc en remplacement de certaines fonctions).
Oui, mais je ne sais pas si sa librairie a le même nom que l'ancienne version ou non, LD_PRELOAD permet de «bétonner» d'où ce choix.
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Le Wed, 31 Dec 2008 15:36:34 +0100
Sylvain Sauvage <Sylvain.Sauvage@metanoesis.net> a écrit:
$ LD_LIBRARY_PATH=/opt/foodir /opt/foodir/foo
LD_LIBRARY_PATH : chemin vers des bibliothèques
LD_PRELOAD : bibliothèques à charger _en plus_ des bibliothèques
liées et avant elles (donc en remplacement de certaines fonctions).
Oui, mais je ne sais pas si sa librairie a le même nom que l'ancienne version
ou non, LD_PRELOAD permet de «bétonner» d'où ce choix.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le Wed, 31 Dec 2008 15:36:34 +0100 Sylvain Sauvage a écrit:
$ LD_LIBRARY_PATH=/opt/foodir /opt/foodir/foo
LD_LIBRARY_PATH : chemin vers des bibliothèques LD_PRELOAD : bibliothèques à charger _en plus_ des bibliothèques liées et avant elles (donc en remplacement de certaines fonctions).
Oui, mais je ne sais pas si sa librairie a le même nom que l'ancienne version ou non, LD_PRELOAD permet de «bétonner» d'où ce choix.
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact