Jak zainstalować ia32-libs w Ubuntu 14.04 LTS (Trusty Tahr)

Zainstalowałem wczoraj Ubuntu 14.04 (zaufany Tahr). Wszystko wydaje się w porządku. Ale kiedy próbowałem skompilować jakiś kod C, napotkałem następujący błąd. Błąd wydaje się być spowodowany brakiem obsługi architektury 32-bitowej. Wynik błędu jest następujący:

/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

Kiedyś apt-get install ia32-libs kiedy używałem Ubuntu 12.04 (dokładnie Pangolin). Ale wiem, że Ubuntu usunęło ia32-libs od Ubuntu 13.10 (Saucy Salamander). Jak mogę rozwiązać ten problem?

 115
Author: Adnan Y, 2014-04-20

11 answers

Można spróbować zainstalować 32-bitową bibliotekę (nie wszystkie w ia32-libs):

sudo  apt-get install program:i386

sudo dpkg --add-architecture i386 może być wymagane(jeśli nigdy tego nie uruchomiłeś).


Lub jeśli chcesz zamiast tego zainstalować całą ia32-lib, spróbuj wykonać następującą kolejność:

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: w ten sposób możesz zainstalować ia32-libs. Jednak zamiast tego dodajemy źródło z 13.04, więc może być jakiś nieznany problem. Po zainstalowaniu ia32-libs, polecam usunąć ia32-libs-raring.list w /etc/apt/sources.list.d i zrobić sudo apt-get update.


Jeśli chcesz naprawić zależność Android SDK, możesz spróbować tego poniżej:

sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1

 140
Author: D0n9X1n,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-14 10:28:47

Install GCC multiple library.

sudo apt-get install gcc-multilib
 77
Author: Nelson Chen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 10:10:03

Najlepsza odpowiedź jaką kiedykolwiek widziałem to Jak uruchamiać aplikacje 32-bitowe Na 64-bitowym Ubuntu?

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo ./adb
 56
Author: Aleksei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-13 12:22:39

W końcu mam! Oto mój sposób i mam nadzieję, że może Ci pomóc:)

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

Nie znam powodu, dla którego muszę je zainstalować, ale działa na moim komputerze. Po zakończeniu instalacji tych pakietów nadszedł czas, aby spróbować. O tak, muszę ci powiedzieć. Tym razem, gdy chcesz skompilować swój kod, powinieneś dodać -m32 po gcc, na przykład: gcc -m32 -o hello helloworld.c. Tylko make clean i make ponownie. Powodzenia przyjaciele.

PS: moje środowisko to: Ubuntu 14.04 64-bit (zaufany Tahr) i GCC w wersji 4.8.4. Napisałem rozwiązanie na moim blogu, ale jest po chińsku : -) - Jak kompasować program 32bit pod ubuntu14.04.

 29
Author: andycoder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-18 19:21:57

Te alternatywne biblioteki działały dla mnie:

sudo apt-get update
sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6
 20
Author: wisbucky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-24 14:54:45

Miałem ten sam problem jak wyżej i Eclipse zasugerowałem instalację:

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"   

Kiedy próbowałem zainstalować ia32-libs, Ubuntu poprosiło o zainstalowanie trzech innych pakietów:

$ 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    

Z Androidem Studio i intellij, musiałem również zainstalować 32bitową wersję libstdc++6:

sudo apt-get install lib32stdc++6
 17
Author: Bob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-16 18:48:00

Dla mnie muszę uciekać

sudo dpkg --add-architecture i386
Przed wysłaniem odpowiedzi Mike ' a Tanga. W przeciwnym razie nie mogę zainstalować ia32-libs.
 8
Author: fkpwolf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-14 10:12:40

Po prostu zainstaluj 32-bitową wersję programu zamiast 64-bitowej.

Jest to o wiele bezpieczniejsze niż instalowanie pakietów, które nie są przeznaczone dla danej dystrybucji.

Dostałem tę sugestię z Instrukcji Instalacji Google Earth Dla Ubuntu 14.04. Google Earth używało ia32-libs Pod 64-bitowym Ubuntu 12.04.

Cytowanie webupd8.org :

Pakiet ia32-libs nie jest już dostępny w Ubuntu, zaczynając od Ubuntu 13.10. Pakiet został zastąpiony przez obsługę multiarch, dzięki czemu można nie jest już potrzebny, ale niektóre pakiety 64bit (które są faktycznie 32bit aplikacji) nadal zależą od tego pakietu i z tego powodu, nie można ich zainstalować w Ubuntu 14.04 lub 13.10, 64bit. [...]

"napraw" , a dokładniej prawidłowy sposób instalacji tych aplikacje, które zależą od ia32-libs jest po prostu zainstalować pakiet 32bit na Ubuntu 64bit. Oczywiście, że zainstaluje sporo 32bit pakiety, ale tak działa multiarch.

Problem z niektórymi programami (np. Google Earth) polega na tym, że pakiet 32-bitowy nie obsługa multiarch. W związku z tym niektóre 32-bitowe zależności muszą być zainstalowane ręcznie, aby 32-bitowa wersja programu działała na 64-bitowym Ubuntu.
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
 4
Author: Serge Stroobandt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-03 20:21:32
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
Jeśli jesteś w Chinach, możesz zmodyfikować "raring" na "precyzyjny" (odpowiednio dla Ubuntu 13.04 (raring Ringtail) i Ubuntu 12.04 LTS (Precise Pangolin)). Zainstalowałem Beyond Compare Na Ubuntu 14.04 (zaufany Tahr).
 2
Author: user3999490,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-18 19:36:00

Problem polega na tym, że w wielu przypadkach pakiety są już multiarchiczne, więc pakiet i386 nie jest dostępny, ale inne pakiety nadal zależą tylko od pakietu i386. Jest to problem w repozytorium i menedżerowie repozytoriów powinni go naprawić

 1
Author: Rand McRanderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-20 12:50:11

Rozwiązaniem jest dodanie odpowiedniego pakietu Debian do repozytorium. W tym celu wpisz poniższe polecenia:

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

Pierwsza linia zapisuje na końcu sources.list Pliku sposób pakietu. To mi pasuje. Chciałbym, żeby to ci pomogło.

 0
Author: bbruno5,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-18 19:40:44