#1 Le 23/03/2007, à 01:37
- Moka_one
lancer executable compilé en 32b sur machine 64b
Bonjour,
j'ai dans le cadre d'un projet des executables fournis par mes professeurs dont je doit me servir.
mais o probleme ils ont été compilés sur une machine 32 b a la fac et ils refusent (pour des raisons de "triche") de nous donner les .cc et les .h .
Alors je voulais savoir si il y avait un moyens d'executer des prog en 32b sur une archi en 64b
j'ai bien ouie dire d'une lib qui purrait m'aider mais ou la trouver?
merci
La défaite est éphémère
Seule la victoire est éternelle
Hors ligne
#2 Le 23/03/2007, à 16:34
- sylvaing01
Re : lancer executable compilé en 32b sur machine 64b
salut Moka_one
Sur quel type de processeur tu tourne?
Si c'est un proccesseur
IA_64 ou un IA_32 avec EM64T, il n'y a aucine raison que ton programme ne fonctionne pas dessus, c'est tout à fait compatible (mais pas l'inverse évidemment).
j'ai beaucoups de programmes 32 bits, qui tournent très bien sur mon core2duo sans aucun problème, à mon avis le problème vient d'ailleur.
Dernière modification par sylvaing01 (Le 23/03/2007, à 16:34)
Hors ligne
#3 Le 23/03/2007, à 22:27
- Link31
Re : lancer executable compilé en 32b sur machine 64b
Oui, on peut lancer des programmes 32 bits avec un système 64 bits. Le programme en lui-même fonctionnera directement, sans manipulation particulière.
Les problèmes surviennent si le programme utilise des bibliothèques (commande ldd pour le savoir). Un programme 32 bits ne peut utiliser que des bibliothèques 32 bits. Si le système est en 64 bits, même si les bibliothèques en question sont bien installées le programme ne les trouvera pas, car seules les versions 64 bits seront présentes.
Pour contourner ce problème, il faut installer les versions 32 bits des bibliothèques dont le programme a besoin, à côté des originales. Un bon début est d'installer le paquet ia32-libs. Ensuite, selon les dépendances du programme, il faut rechercher les paquets qui permettent d'installer les bibliothèques manquantes de la même façon.
Dernière modification par Link31 (Le 23/03/2007, à 22:28)
Hors ligne
#4 Le 24/03/2007, à 16:16
- Moka_one
Re : lancer executable compilé en 32b sur machine 64b
Ok
en fait tu as raison sylvaing01 le probleme doit venir d'ailleur
j'ai trouvé sur synaptic un truc sympa c'est linux32 qui emule directement un pross 32b et meme en lancant mon prog avec il me dit il n'y as pas de fichier ou de dossir cli1D alors qu'il est present dans le ls -l et que j'ai fait un chmod dessus qui a marché...
enfin c'est pas grave j'ai reussi a finir mon projet quand meme mais la question reste entiere
en tout cas merci pour vos reponses ^^
La défaite est éphémère
Seule la victoire est éternelle
Hors ligne
#5 Le 24/03/2007, à 16:23
- sylvaing01
Re : lancer executable compilé en 32b sur machine 64b
oui et d'ailleur linux32 est necessaire pour compiler en 32b sur une machine 64b. ;-)
Hors ligne
#6 Le 25/03/2007, à 16:07
- Link31
Re : lancer executable compilé en 32b sur machine 64b
j'ai trouvé sur synaptic un truc sympa c'est linux32 qui emule directement un pross 32b
Non, c'est ton processeur qui gère nativement le 32 bits. Linux32 ne fait que "croire" aux programmes qu'il lance qu'ils sont en 32 bits, en changeant, entre autres, le résultat de arch.
il me dit il n'y as pas de fichier ou de dossir cli1D alors qu'il est present dans le ls -l
C'est ce que j'ai dit, un programme 32 bits ne trouvera pas les bibliothèques qu'il cherche même si elles sont installées car il ne peut pas utiliser les versions 64 bits de ces bibliothèques.
la question reste entiere
Plus maintenant
Si tu as besoin de plus d'infos sur la cohabitation 32 bits/64 bits, n'hésite pas à demander.
Hors ligne
#7 Le 25/03/2007, à 17:22
- yodagoo
Re : lancer executable compilé en 32b sur machine 64b
Bonjour !
Je rebondis sur le sujet
Je cherche à installer linéo http://www.natsimhan.com/Lineo/
qui est un clone de Quarto excellent, mais compilé en 32 bits.
Et j'ai une architecture amd64 bits.
J'ai toutes les librairies ia32 installées
Et le programme ne se lance pas
J'ai tenté une compilation à partir des sources, mais j'avoue que cela vole un peu plus haut que mes connaissances actuelles (mais je ne désespère pas)
Alors s'il y a un moyen de faire fonctionner ce type de programme plus simplement, je suis friand d'explications
Hors ligne
#8 Le 25/03/2007, à 18:51
- Link31
Re : lancer executable compilé en 32b sur machine 64b
Pour connaître les bibliothèques manquantes :
ldd le_fichier_exécutable
Hors ligne