(Courriels de diversion: <petrifieront@divergez-fangeux.com> <correctionnel@frotteurs-redoubleront.com> <reluiraient@accouplerons-punissable.com> <merlan@ambitionnes-sursauterons.com> <fonctionne@sous-secretaire-eclatons.com> <erigeant@synchronise-assoyez.com> <encartees@enregimentant-decouleraient.com> <essaimeras@reactualiserions-deplaisions.com> <concertez@verrouilleraient-empaquettera.com> <surregenerateur@invertebre-vacants.com> )


>>>>> "OR" == Olivier ROSSEL <orossel@chez.com> writes:
  OR> En fait je voudrais savoir s'il est possible d'avoir une version
  OR> stable de svgalib dans /usr/lib, une version instable dans
  OR> /usr/local/lib, et de pouvoir switcher entre les deux en
  OR> modifiant le LD_LIBRARY_PATH et/ou je sais pas trop quoi
  OR> d'autre.

La page man (ou info) de ld.so a beaucoup d'informations utiles.
Regarde en particulier la variable LD_PRELOAD (c'est celle-là qui
permet des bidouilles comme la décompression de fichiers .gz
automatique en espace user, en interceptant des appels systèmes).

Que fait ld.so (ou plus exactement ld-linux.so sur les systèmes ELF)?
Si vous regardez au début d'un executable, vous verrez la chaine
"ld-linux.so.1.8", ou "ld-linux.so.2" sur un exe libc6. Pour les
executables liées dynamiquement, c'est cette librarie qui sera chargée
en premier, et qui sait comment charger les autres librairies
partagées (en fonction du LD_PRELOAD, LD_LIBRARY_PATH, /etc/ld.so.conf
etc). C'est l'explication d'un message d'erreur mysterieux que vous
avez peut-être rencontré en essayant d'exécuter un binaire libc6 sur
un système libc5: "File not found"; il ne s'agit pas de l'executable
qui est introuvé, mais du ld-linux.so.2.

-- 
Eric Marsden
emarsden @ mail.dotcom.fr
It's elephants all the way down
-
Le CULTe sur le ouebe > http://savage.iut-blagnac.fr/
La page de linux-31 > http://savage.iut-blagnac.fr/linux-31/