185 votes

Interprète ELF CentOS 64 bits mauvais

Je viens d'installer la version 64 bits de CentOS 6, j'essaie d'installer une application 32 bits sur une machine 64 bits et j'ai cette erreur:

/lib/ld-linux.so.2: interpréteur ELF incorrect: pas de fichier ou répertoire de ce type

Je suis nouveau sur Linux. Comment résoudre ça?

361voto

BRPocock Points 7904

Vous êtes sur un système 64 bits, et n'ont pas de 32 bits prend en charge les bibliothèques installées.

   sudo yum install glibc.i686

ou, si ce n'est pas disponible sur Centos-6,

  sudo yum install glibc.i386

devrait vous saisir de la bibliothèque dont vous avez besoin.

Incidentially, cela implique que votre base de données RPM est endommagé, ou que l'application que vous essayez d'exécuter n'était pas installé via le gestionnaire de paquets. Si vous êtes nouveau sur Linux, vous voulez probablement pour éviter d'utiliser des logiciels provenant de sources autres que "Yum", chaque fois que possible...

  • Si vous n'utilisez pas "sudo" dans votre set-up, type

    su -

pour acquérir des super-utilisateur, l'autorité de première, puis il suffit de taper

yum install glibc.i686

Mise à jour: Depuis, il semble que la réponse est toujours considéré, et de temps en temps jusqu'-voter, noter que la solution ci-dessus fonctionne sur CentOS, Fedora, ou Red Hat systèmes d'exploitation dérivés; sur une Debian ou Ubuntu, dérivé du système, cependant, on devrait plutôt utiliser

 sudo apt-get install ia32-libs

... fournir environ la même fonctionnalité.

Toute personne qui a besoin d'installer glibc.i686 ou glibc.i386 fonctionnera probablement dans d'autres dépendances de la bibliothèque, ainsi. Pour identifier un ensemble arbitraire de la bibliothèque, vous pouvez utiliser

 ldd /usr/bin/YOURAPPHERE

Regardez au-dessus de la sortie pour les bibliothèques manquantes, et pour chacun, de prendre en son nom (par exemple pour l' libSM.so.6 => missing vous utilisez libSM.so.6) et de l'exécuter:

 yum provides /usr/lib/libSM.so.6

Remarque le préfixe de chemin de /usr/lib dans l' (d'habitude); dans de rares cas, certaines bibliothèques continuent de vivre sous /lib , pour des raisons historiques ... Sur les systèmes 64 bits, 32 bits des bibliothèques de vivre en /usr/lib et 64 bits des bibliothèques de vivre en /usr/lib64.

Cela devrait vous donner un nom de package, par exemple:

libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library
Repo        : fedora
Matched from:
Filename    : /usr/lib/libSM.so.6

Vous pouvez alors sudo yum install libSM.i686 (ou de spécifier la version entièrement: sudo yum install ibSM-1.2.0-2.fc15.i686) pour saisir la bibliothèque requise.

Certaines bibliothèques ont une "époque" de désignation avant de leur nom; cela peut être omis, c'est un artefact de la façon dont le sous-jacent TR / min bibliothèques de gérer les numéros de version, par exemple;

2:libpng-1.2.46-1.fc16.i686 : A library of functions for manipulating PNG image format files
Repo        : fedora
Matched from:
Filename    : /usr/lib/libpng.so.3

Ici, l' 2: peut être omis; seulement, yum install libpng.i686 ou yum install libpng-1.2.46-1.fc16.i686. (Vaguement implique quelque chose comme: à un certain point, le numéro de version de l' libpng paquet roulé vers l'arrière, les "epoch" devait être incrémenté à assurez-vous que la version la plus récente serait considéré comme "le plus récent" lors des mises à jour. Ou quelque chose de semblable s'est passé. Deux fois.)

18voto

Phil Edwards Points 101

Vient de rencontrer le même problème sur une machine CentOS 6.4 64 bits récemment installée. Une seule commande yum corrigera ce problème plus 99% des problèmes similaires:

yum groupinstall "Bibliothèques de compatibilité"

Soit préfixez ceci par 'sudo' ou exécutez-le en tant que root, selon ce qui fonctionne le mieux pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X