Programing

Ubuntu 14.04 LTS (Trusty Tahr)에서 ia32-libs를 설치하는 방법

lottogame 2020. 7. 22. 21:35
반응형

Ubuntu 14.04 LTS (Trusty Tahr)에서 ia32-libs를 설치하는 방법


어제 Ubuntu 14.04 (Trusty Tahr)를 설치했습니다. 다 괜찮아 보인다. 그러나 일부 C 코드를 컴파일하려고 할 때 다음 오류가 발생합니다. 오류는 OS가 32 비트 아키텍처를 지원하지 않기 때문인 것으로 보입니다. 오류 출력은 다음과 같습니다.

/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우분투 12.04 (Precise Pangolin)를 사용했을 때 사용했습니다 . 그러나 내가 아는 것은 우분투가 우분투 13.10 (Saucy Salamander) 이후 ia32-lib를 제거했다는 것입니다. 이 문제를 어떻게 해결할 수 있습니까?


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-libsia32-libs-raring.listin 을 제거 /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

설치해야하는 이유를 모르겠지만 컴퓨터에서 작동합니다. 이러한 패키지 설치가 끝나면 시도해 볼 차례입니다. 아 그래, 말해 줄께 이번에는 코드를 컴파일 할 때 -m32after 를 추가해야합니다 ( 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를 설치하려고 할 때 우분투는 세 가지 다른 패키지를 설치하라는 메시지를 표시했습니다.

$ 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    

With Android Studio and intellij, I also had to install the 32bit version of libstdc++6:

sudo apt-get install lib32stdc++6

For me, I have to run

sudo dpkg --add-architecture i386

before running Mike Tang's answer. Otherwise, I can't install ia32-libs.


Simply install the 32-bit version of the program, instead of the 64-bit version.

This is much safer than installing packages that are not intended for the distribution at hand.

I got this suggestion from the Google Earth installation instructions for Ubuntu 14.04. Google Earth used to employ ia32-libs under 64-bit Ubuntu 12.04.

Quoting webupd8.org:

The ia32-libs package is no longer available in Ubuntu, starting with Ubuntu 13.10. The package was superseded by multiarch support so you don't need it any more, but some 64bit packages (which are actually 32bit applications) still depend on this package and because of this, they can't be installed in Ubuntu 14.04 or 13.10, 64bit. [...]

The "fix" or more specifically the correct way of installing these apps which depend on ia32-libs is to simply install the 32bit package on Ubuntu 64bit. Of course, that will install quite a few 32bit packages, but that's how multiarch works.

The problem with some programs (like Google Earth) is that the 32-bit package does not support multiarch. Consequently, some 32-bit dependencies need to be installed manually to make the 32-bit version of the program run on Ubuntu 64-bit.

sudo dpkg --add-architecture i386 # only needed once
sudo apt-get update
sudo apt-get install libfontconfig1:i386 libx11-6:i386 libxrender1:i386 libxext6:i386 libgl1-mesa-glx:i386 libglu1-mesa:i386 libglib2.0-0:i386 libsm6:i386

sudo -i
cd /etc/apt/sources.list.d
echo "deb http://archive.ubuntu.com/ubuntu/ precise 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

If you are in China, you can modify "raring" to "precise" (for Ubuntu 13.04 (Raring Ringtail) and Ubuntu 12.04 LTS (Precise Pangolin), respectively). I installed Beyond Compare on Ubuntu 14.04 (Trusty Tahr).


The problem is that in many cases the packages are multiarch already so the i386 package is not available, but other packages still depend on the i386 package only. This is a problem in the repository, and the managers of the repos should fix it


A solution is add the corresponding Debian package way to your repository. For this, type the below commands:

echo "deb ftp.us.debian.org/debian wheezy main" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install ia32-libs-i386

The first line writes in the end of the sources.list file the package way. This works for me. I wish that helps you.

참고URL : https://stackoverflow.com/questions/23182765/how-to-install-ia32-libs-in-ubuntu-14-04-lts-trusty-tahr

반응형