Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Installer 2 libc sur le système

4 réponses
Avatar
fenkys
Bonjour,


Il y a quelques années j'avais vu sur une page web comment installer
deux versions de la libc sur le système :
- une version courante utilisée par l'ensemble du système
- une autre version, utilisée seulement par certains programmes à la
demande.
Je n'arrive pas a retrouver cette page web.

Quelqu'un sait comment faire ? Je me souviens que c'était assez simple
mais vu l'importance de la libc, je n'ai pas envie de faire des
expériences sans filet.


Merci pour votre aide.


LD

4 réponses

Avatar
Nicolas George
fenkys wrote in message <46ab30c8$0$25558$:
Il y a quelques années j'avais vu sur une page web comment installer
deux versions de la libc sur le système :
- une version courante utilisée par l'ensemble du système
- une autre version, utilisée seulement par certains programmes à la
demande.
Je n'arrive pas a retrouver cette page web.

Quelqu'un sait comment faire ? Je me souviens que c'était assez simple
mais vu l'importance de la libc, je n'ai pas envie de faire des
expériences sans filet.


Ce que tu veux faire peut se faire sans les droits de root. Donc pour être
sûr de ne pas casser ton système, il te suffit de ne jamais passer root
(sauf éventuellement pour des opérations élémentaires du style mkdir +
chown) pendant que tu fais tes expériences, et tout ira bien.

Pour faire ce que tu veux faire, il te suffit d'installer la libc dans un
répertoire à part, et d'utiliser $LD_LIBRARY_PATH (à l'exécution) ou
$LD_RUN_PATH/-Wl,-rpath (à la compilation) pour sélectionner ce répertoire.
Ce répertoire ne doit _pas_ être dans /etc/ld.so.conf.

Avec un peu de chance, ./configure --prefix=$HOME/local/glibc-2.42.12 devrait
faire l'affaire.

Avatar
fenkys
Nicolas George wrote:

Ce répertoire ne doit _pas_ être dans /etc/ld.so.conf.


C'est ca qui avait coincé la première fois. Heureusement que j'avais
pris soin de me préparer un systeme de base entièrement linké en static.


LD

Avatar
Luc.Habert.00__arjf
Nicolas George :

Pour faire ce que tu veux faire, il te suffit d'installer la libc dans un
répertoire à part, et d'utiliser $LD_LIBRARY_PATH (à l'exécution) ou
$LD_RUN_PATH/-Wl,-rpath (à la compilation) pour sélectionner ce répertoire.


Il n'y a pas aussi une histoire comme quoi chaque version de la libc vient
avec son ld.so et qu'il ne faut pas en utiliser un autre?

Avatar
Nicolas George
Luc Habert wrote in message <f8fklb$2b63$:
Il n'y a pas aussi une histoire comme quoi chaque version de la libc vient
avec son ld.so et qu'il ne faut pas en utiliser un autre?


Il y a un peu de ça, mais il y a quand même une large compatibilité.