114 votes

Comment installer ia32-libs dans Ubuntu 14.04 LTS

J'ai installé ubuntu 14.04 hier. Tout semble ok. Mais quand je veux compiler mon code C, je rencontre un problème. Cela a échoué car mon OS ne peut pas prendre en charge l'architecture 32 bits. La sortie d'erreur est la suivante:

/usr/bin/ld: l'architecture i386 du fichier d'entrée `./libsc.a(ftl_msg.o)' est incompatible avec la sortie i386:x86-64
/usr/bin/ld: l'architecture i386 du fichier d'entrée `./libsc.a(libsc_debug.o)' est incompatible avec la sortie i386:x86-64
/usr/bin/ld: l'architecture i386 du fichier d'entrée `./libsc.a(libsc_str.o)' est incompatible avec la sortie i386:x86-64
/usr/bin/ld: l'architecture i386 du fichier d'entrée `./libsc.a(libsc_cfg_common.o)' est incompatible avec la sortie i386:x86-64

J'avais l'habitude d'installer apt-get ia32-libs lorsque j'utilisais ubuntu 12.04. Mais ce que je sais, c'est qu'ubuntu a supprimé les ia32-libs depuis ubuntu 13.10. Donc je suis maintenant Orz... T_T. S'il vous plaît, donnez-moi un coup de main. Merci.

140voto

Mike Tang Points 519

Vous pouvez essayer ceci pour installer 32 librairies (pas toutes en ia32-libs): apt-get install programme:i386.

Ou si vous préférez installer l'ensemble des ia32-lib au lieu de cela, essayez l'ordre suivant:

sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs

PS: De cette manière, vous pouvez installer ia32-libs. Cependant, nous ajoutons la source de la version 13.04, donc il peut y avoir des problèmes inconnus. Après avoir installé ia32-libs, je vous recommande de supprimer le fichier ia32-libs-raring.list dans /etc/apt/sources.list.d, et de faire sudo apt-get update.

77voto

Nelson Chen Points 111

Installer plusieurs bibliothèques gcc.

sudo apt-get install gcc-multilib

56voto

Aleksei Points 117

La meilleure réponse que j'ai jamais vue: http://askubuntu.com/a/454254

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo ./adb

29voto

andycoder Points 434

J'ai enfin réussi! Voici ma méthode, j'espère qu'elle pourra vous aider :)

sudo apt-get install libc6:i386
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.list
apt-get update
apt-get install ia32-libs
rm /etc/apt/sources.list.d/ia32-libs-raring.list
apt-get update
exit
sudo apt-get install gcc-multilib

Je ne sais pas pourquoi j'ai besoin d'installer tout ça, mais ça fonctionne sur mon ordinateur. Une fois que vous aurez fini d'installer ces paquets, c'est le moment d'essayer. Oh oui, j'ai besoin de vous dire. Cette fois, lorsque vous voulez compiler votre code, vous devez ajouter -m32 après gcc, par exemple : gcc -m32 -o hello helloworld.c. Puis juste faire un make clean et make à nouveau. Bonne chance les amis.

Ps : mon environnement est : Ubuntu 14.04-64bit (Trusty Tahr), version de gcc 4.8.4 J'ai écrit la solution sur mon blog, mais c'est en chinois :-) Comment compiler un programme 32 bits sous ubuntu14.04

20voto

wisbucky Points 829

Ces bibliothèques alternatives ont fonctionné pour moi :

sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6

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