Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

Moka_one a écrit :

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.

Moka_one a écrit :

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.

Moka_one a écrit :

la question reste entiere

Plus maintenant smile
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