Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Nouveau Membre du Club
    Inscrit en
    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 ?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    septembre 2007
    Messages
    5 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : septembre 2007
    Messages : 5 376
    Points : 12 634
    Points
    12 634

    Par défaut

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •