question sur ld-linux.so et un chroot 32 bits

Le
Thomas Alexandre
Bonjour

J'avais besoin d'un environnement 32 bits pour compiler une appli. Je me
suis donc confectionné un chroot en suivant ce tuto :

http://www.debian-administration.org/articles/356

Tout marche bien. Ca compile et ça se lance bien hors du chroot. Même pas
eu à m'emmerder avec schroot.

Cependant il y a un truc que je ne comprends pas dans le tuto :

"1.4) You also need a link to your 32bit linker in the /lib path:

$ cd /lib
$ ln -s /mnt/32bits/lib/ld-linux.so.2 ld-linux.so.2"

Je l'avais zappé quand j'ai fait mon chroot mais tout marche sans cette
manip (compilation et l'appli 32 bits fonctionne dans l'environnement 64
bits).

Ça sert à quoi de lier ce truc ?

Autre chose, pour lancer une appli graphique depuis le chroot, je dois
faire un "xhost +" en dehors. Ok mais ça pose pas un problème de
sécurité ?

--
"Ce qu'il faut au fond pour obtenir une espèce de paix avec les hommes,
() c'est leur permettre en toutes circonstances, de s'étaler, de se
vautrer parmi les vantardises niaises. Il n'y a pas de vanité
intelligente. C'est un instinct." - Céline
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas George
Le #24277941
Thomas Alexandre , dans le message
J'avais besoin d'un environnement 32 bits pour compiler une appli. Je me
suis donc confectionné un chroot en suivant ce tuto :



Tu n'as absolument pas besoin d'un environnement chroot pour compiler des
applications en 32 bits. S'assurer que gcc reçoit l'option -m32 ; plus
éventuellement un setarch bien senti pour les configure débiles qui font
confiance à uname plutôt qu'à l'architecture du compilo.

Il faut en outre que les bibals soient installées. Si elles ne sont pas
prévues pour le multiarch, tu les déballes à la main (dpkg --fs<tab>) et tu
indiques le chemin à gcc.

http://www.debian-administration.org/articles/356



« Posted by Utumno on Tue 21 Feb 2006 at 09:54 »

Il y a trois versions de Debian qui sont sorties depuis que ce truc a été
publié.

Cependant il y a un truc que je ne comprends pas dans le tuto :

"1.4) You also need a link to your 32bit linker in the /lib path:

$ cd /lib
$ ln -s /mnt/32bits/lib/ld-linux.so.2 ld-linux.so.2"

Je l'avais zappé quand j'ai fait mon chroot mais tout marche sans cette
manip (compilation et l'appli 32 bits fonctionne dans l'environnement 64
bits).

Ça sert à quoi de lier ce truc ?



À rien parce que tu as déjà les bibals de compatibilité 32 bits.

Autre chose, pour lancer une appli graphique depuis le chroot, je dois
faire un "xhost +" en dehors. Ok mais ça pose pas un problème de
sécurité ?



Oui. Sur une machine mono-utilisateur si la distrib a désactivé X11-over-TCP
ça peut aller, mais c'est idiot de toutes façons, il suffit de copier le
cookie d'authentification : man xauth/
Thomas Alexandre
Le #24278171
Le Fri, 24 Feb 2012 20:08:32 +0000, Nicolas George a écrit :

Thomas Alexandre , dans le message

Tu n'as absolument pas besoin d'un environnement chroot pour compiler
des applications en 32 bits. S'assurer que gcc reçoit l'option -m32 ;
plus éventuellement un setarch bien senti pour les configure débiles qui
font confiance à uname plutôt qu'à l'architecture du compilo.

Il faut en outre que les bibals soient installées. Si elles ne sont pas
prévues pour le multiarch, tu les déballes à la main (dpkg --fs<tab>) et
tu indiques le chemin à gcc.



Alors ça, ça m'intéresse. L'appli en question est pcsx2 (émulateur PS2).

"Ia32libs is missing several 32bits libraries (at least in debian/
ubuntu), and there is nothing PCSX2 can do about that. So do not expect
to run PCSX2 on x64 Linux installs. The only solution for you is to
install a full 32bits chroot environment, and run PCSX2 from that. "

qu'ils disent là :
http://code.google.com/p/pcsx2/wiki/CompilationGuideForLinux

et puis là aussi :
http://code.google.com/p/pcsx2/wiki/ChrootAnd64bStatusLinux

Ce serait donc possible de compiler sans un chroot ? Si oui, je vais
sérieusement me pencher sur tout ça.

http://www.debian-administration.org/articles/356



« Posted by Utumno on Tue 21 Feb 2006 at 09:54 »

Il y a trois versions de Debian qui sont sorties depuis que ce truc a
été publié.



Oulà, pas fait attention.

Cependant il y a un truc que je ne comprends pas dans le tuto :

"1.4) You also need a link to your 32bit linker in the /lib path:

$ cd /lib
$ ln -s /mnt/32bits/lib/ld-linux.so.2 ld-linux.so.2"

Je l'avais zappé quand j'ai fait mon chroot mais tout marche sans cette
manip (compilation et l'appli 32 bits fonctionne dans l'environnement
64 bits).

Ça sert à quoi de lier ce truc ?



À rien parce que tu as déjà les bibals de compatibilité 32 bits.



En fait non. Je les ai parce qu'elle sont dans le chroot et que j'ai
indiqué dans l'environnement 64 bits où les trouver en rajoutant les
chemins dans /etc/ld.so.conf.d/

Je n'ai pas pu installer par exemple libglew1.6-dev en version 32 bits.
J'ai du la coller dans le chroot. Mais je ne l'ai pas fait "à la main".

Ceci étant je n'ai toujours pas compris le rôle de ce lien sur la
ld-linux.so.2

Autre chose, pour lancer une appli graphique depuis le chroot, je dois
faire un "xhost +" en dehors. Ok mais ça pose pas un problème de
sécurité ?



Oui. Sur une machine mono-utilisateur si la distrib a désactivé
X11-over-TCP ça peut aller, mais c'est idiot de toutes façons, il suffit
de copier le cookie d'authentification : man xauth/



Je m'en doutais. Merci !

--
"Ce qu'il faut au fond pour obtenir une espèce de paix avec les hommes,
(...) c'est leur permettre en toutes circonstances, de s'étaler, de se
vautrer parmi les vantardises niaises. Il n'y a pas de vanité
intelligente. C'est un instinct." - Céline
Nicolas George
Le #24278331
Thomas Alexandre , dans le message
Alors ça, ça m'intéresse. L'appli en question est pcsx2 (émulateur PS2).

"Ia32libs is missing several 32bits libraries (at least in debian/
ubuntu), and there is nothing PCSX2 can do about that. So do not expect
to run PCSX2 on x64 Linux installs. The only solution for you is to
install a full 32bits chroot environment, and run PCSX2 from that. "



Clairement ils sont mauvais. Il est possible de compiler et exécuter sans
chroot, mais ça demande une bonne compréhension du mécanisme de compilation
(enfin, surtout d'édition de liens).

En fait non.



En fait si, vérifie.

Je n'ai pas pu installer par exemple libglew1.6-dev en version 32 bits.
J'ai du la coller dans le chroot. Mais je ne l'ai pas fait "à la main".



Eh bien tu aurais pu faire le contraire : l'installer à la main, dans un
répertoire qui n'est pas celui du paquet, mais sans chroot.
Thomas Alexandre
Le #24278891
Le Fri, 24 Feb 2012 22:13:02 +0000, Nicolas George a écrit :

Clairement ils sont mauvais. Il est possible de compiler et exécuter
sans chroot, mais ça demande une bonne compréhension du mécanisme de
compilation (enfin, surtout d'édition de liens).



Ok. De la doc à me conseiller sur le sujet ?

--
"Ce qu'il faut au fond pour obtenir une espèce de paix avec les hommes,
(...) c'est leur permettre en toutes circonstances, de s'étaler, de se
vautrer parmi les vantardises niaises. Il n'y a pas de vanité
intelligente. C'est un instinct." - Céline
Publicité
Poster une réponse
Anonyme