어제 Ubuntu 14.04 (Trusty Tahr)를 설치했습니다. 모든 것이 괜찮은 것 같습니다. 그러나 일부 C 코드를 컴파일하려고 할 때 다음 오류가 발생합니다. 이 오류는 32 비트 아키텍처 지원이없는 OS로 인한 것 같습니다. 오류 출력은 다음과 같습니다.
/usr/bin/ld: i386 architecture of input file `./libsc.a(ftl_msg.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `./libsc.a(libsc_debug.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `./libsc.a(libsc_str.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `./libsc.a(libsc_cfg_common.o)' is incompatible with i386:x86-64 output
apt-get install ia32-libs
Ubuntu 12.04 (Precise Pangolin) 를 사용할 때 사용했습니다 . 하지만 내가 아는 것은 Ubuntu가 Ubuntu 13.10 (Saucy Salamander) 이후 ia32-libs를 제거했다는 것입니다. 이 문제를 어떻게 해결할 수 있습니까?
답변
32 비트 라이브러리를 설치하기 위해 이것을 시도 할 수 있습니다 (ia32-libs에서 전부는 아닙니다) :
sudo apt-get install program:i386
sudo dpkg --add-architecture i386
필요할 수 있습니다 (실행하지 않은 경우).
또는 전체 ia32-lib를 대신 설치하려면 다음 순서를 시도하십시오.
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
추신 :이 방법으로 ia32-libs
. 그러나 대신 13.04의 소스를 추가하므로 알려지지 않은 문제가있을 수 있습니다. 설치 한 후 ia32-libs
, 난 당신이 제거하는 것이 좋습니다 ia32-libs-raring.list
의를 /etc/apt/sources.list.d
하고, 할 sudo apt-get update
.
Android SDK의 종속성을 수정하려면 다음을 시도해 볼 수 있습니다.
sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
답변
gcc 다중 라이브러리를 설치하십시오.
sudo apt-get install gcc-multilib
답변
내가 본 최고의 대답은 Ubuntu 64 비트에서 32 비트 애플리케이션을 실행하는 방법입니다.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo ./adb
답변
드디어 얻었다! 여기 내 방법이 있으며 도움이 되었기를 바랍니다. 🙂
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
설치해야하는 이유를 모르겠지만 내 컴퓨터에서 작동합니다. 이 패키지 설치를 마치면 시도해 볼 시간입니다. 네, 말씀 드리고 싶습니다. 이번에는 코드를 컴파일하려면 -m32
뒤에 추가해야합니다 . gcc
예 : gcc -m32 -o hello helloworld.c
. 계속 make clean
해서 make
. 행운을 빕니다.
추신 : 내 환경 : Ubuntu 14.04 64 비트 (Trusty Tahr) 및 GCC 버전 4.8.4. 내 블로그에 솔루션을 작성했지만 중국어로되어 있습니다. :-)- ubuntu14.04에서 32 비트 프로그램을 나침반하는 방법 .
답변
이 대체 라이브러리는 나를 위해 일했습니다.
sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6
답변
위와 같은 문제가 있었고 Eclipse 는 설치를 제안했습니다.
Hint: On 64-bit systems, make sure the 32-bit libraries are installed:
"sudo apt-get install ia32-libs"
or on some systems,
"sudo apt-get install lib32z1"
ia32-libs를 설치하려고 할 때 Ubuntu는 세 가지 다른 패키지를 설치하라는 메시지를 표시했습니다.
$ sudo apt-get install ia32-libs
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
lib32z1 lib32ncurses5 lib32bz2-1.0
E: Package 'ia32-libs' has no installation candidate
$
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
Android Studio 및 intellij를 사용하여 32 비트 버전의 libstdc ++ 6도 설치해야했습니다.
sudo apt-get install lib32stdc++6
답변
나를 위해 난 달려야 해
sudo dpkg --add-architecture i386
Mike Tang의 답변을 실행하기 전에. 그렇지 않으면 ia32-libs를 설치할 수 없습니다.