Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > x86 32-bits / 64-bits
x86 32-bits / 64-bits Architectures x86 32/64 bits et leurs outils (assembleurs, debuggers, émulateurs...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/05/2012, 10h05   #1
Isabella83
Nouveau Membre du Club
 
Inscription : janvier 2010
Messages : 200
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 200
Points : 35
Points : 35
Par défaut wrong ELF class: ELFCLASS64

Bonjour à tous,
Tout d'abord quelques informations sur la machine que j'utilise.
J'utilise Ubuntu 11.10 grâce à virtualbox; J'ai lu sur un site que "Ubuntu 11.10 active la prise en charge "multi-architecture" afin d'installer des applications et des bibliothèques 32 bits (i386) dans les systèmes Ubuntu 64 bits (amd64)."
Mais,
J’essaie de lancer un programme (cutadapt) mais j'obtiens l'erreur suivante :
Code :
1
2
3
4
5
6
Traceback (most recent call last):
  File "/home/stephanie/Téléchargements/cutadapt-1.0/cutadapt", line 78, in <module>
    from cutadapt import align, seqio
  File "/home/stephanie/Téléchargements/cutadapt-1.0/lib/cutadapt/align.py", line 222, in <module>
    from cutadapt.calign import globalalign, globalalign_locate
ImportError: /home/stephanie/Téléchargements/cutadapt-1.0/lib/cutadapt/calign.so: wrong ELF class: ELFCLASS64
Je ne comprends pas cette erreur, j'ai essayé de modifier
Code :
export LD_LIBRARY_PATH=/home/stephanie/Téléchargements/cutadapt-1.0/lib
J'ai regardé ceci ( j'ai vu ca sur un site !!) :
Code :
1
2
file /home/stephanie/Téléchargements/cutadapt-1.0/lib/cutadapt/calign.so
/home/stephanie/Téléchargements/cutadapt-1.0/lib/cutadapt/calign.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped
Mais cela ne fonctionne toujours pas, quelqu'un aurait il la solution à mon problème ?
Isabella83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/05/2012, 12h25   #2
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 612
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 612
Points : 11 082
Points : 11 082
Hello,

Les processeurs x86-64 sont nativement compatibles avec les architectures Intel en 32 bits et peuvent donc continuer à exécuter directement les programmes compilés en 32 comme si de rien n'était. Ça te permet donc d'exécuter un programme 32 bits sur une machine en 64. Mais ce n'est « vrai » qu'au niveau du micro-processeur.

Au niveau du système d'exploitation, tu ne peux pas lier un programme 32 bits à une bibliothèque en 64 ou vice-versa. Les formats sont incompatibles. Tu peux bien sûr faire cohabiter les deux versions d'une même bibliothèque sur le disque dur mais à charge au programme de référencer la bonne bibliothèque.

Dans le cas qui t'intéresse, c'est un chargement dynamique à l'exécution, c'est-à-dire que c'est le programme lui-même qui demande, à un moment donné, à charger la bonne bibliothèque quand il en a besoin, mais les problèmes restent les mêmes. En l'occurrence, c'est l'interpréteur Python lui-même qui doit être en 32 bits.
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 22h22.


 
 
 
 
Partenaires

Hébergement Web