Vraag Wat gebeurde er met het pakket ia32-libs?


De ia32-libs pakket is niet langer aanwezig in Ubuntu 12.04-opslagplaatsen voor een 64-bits systeem. Zijn er beschikbare vervangende pakketten beschikbaar om te downloaden?


100
2018-02-24 08:48


oorsprong


Verwant askubuntu.com/questions/359156/... - Braiam
+1, zou net dezelfde vraag stellen. DUS heeft echt geweldige vraagsuggesties! - ulidtko


antwoorden:


Het ia32-libs-pakket was een hack om 32-bits pakketten op een 64-bits installatie te installeren. Sinds Ubuntu versie 11.10 (Oneiric), Multi Arch is toegevoegd. Een van de doelstellingen hiervoor is het verwijderen van de ia32-libs pakket. In plaats daarvan moet u de 32-bits bibliotheken van een pakket installeren met:

sudo apt-get install package-name:i386

U hoeft zich hier geen zorgen over te maken voor pakketten in de standaard repositories (bijv wine pakket). Voor externe software is het een beetje moeilijker omdat je de afhankelijkheden handmatig moet vinden. Gebruik in dat geval uw favoriete zoekmachine om te vinden welke bibliotheken u nodig hebt.

Het lijkt erop dat ia32-libs nog steeds bestaan, maar slechts als een gemakspakket om gewone 32-bit bibliotheken op te nemen. Dit pakket maakt nu gebruik van Multi Arch om de 32-bits pakketten correct te installeren.


95
2018-02-24 10:17



Nou, hoe wordt verondersteld om alle afhankelijkheden te vinden en eerst te installeren: i386 van die? - user117
@wingman Run ldd, een pad naar het binaire bestand doorgeven als argument. Als de uitvoer een regel bevat zoals libz.so.1 => not found, dan moet je vinden libz.so.1. Je kunt gebruiken packages.ubuntu.com of apt-file search om het pakket met dat bestand te vinden. In het voorbeeld dat ik gaf, moet je installeren zlib1g:i386. - Lekensteyn
ik zit op een computer met ubuntu 10.10. na wat tutorial over Android ontwikkeling moet ik de ia32-libs installeren. je antwoord spreekt over 11.10, maar voor deze computer? wat ik moet doen? - nkint
@nkint 10.10 wordt niet meer ondersteund. Als u door wilt gaan, moet u uw wijzigen pakketbronnen. In 10.10 moet je ia32-libs installeren. Maar zelfs dan is er geen garantie dat de Android SDK daarmee werkt. - Lekensteyn
@FelipeMicaroniLalli U moet vervangen package-name door de echte naam. Gebruik ldd om te achterhalen, zie de tweede opmerking hierboven. - Lekensteyn


Ubuntu 13.10

Wat is er gebeurd?

De ia32-libs pakket is volledig vervangen door lib32z1 lib32ncurses5 lib32bz2-1.0. Dit zou geen probleem moeten zijn, omdat de functionaliteit ervan er nog steeds is, alleen in andere pakketten. We leven echter niet in een ideale wereld waar iedereen zijn pakketten onderhoudt en alle software FLOSS is, dus sommige pakketten zijn nog steeds afhankelijk van de ia32-libs.

Hoe kan ik het pakket installeren? X dat is afhankelijk van ia32-libs

Er zijn 2 manieren:

  1. U kunt het handmatig herverpakken zodat het niet afhankelijk is van de ia32-libs meer. (Voorkeur)
  2. Je kunt ia32-libs installeren vanuit de Ubuntu 13.04 (Raring Ringtail) -repository (helemaal niet geprefereerd!, alleen als de eerste methode niet werkt)

1. Verpak oude pakketten opnieuw

Ik gebruik de citrix-ontvanger als een voorbeeld, maar je kunt deze methode gebruiken voor elk .deb-pakket:

Download eerst het citrix-ontvanger.deb-pakket van hun website en maak een tijdelijke map waarin wordt gehackt.

mkdir ica_temp

Pak het pakket uit

dpkg-deb -x icaclient_13.0.0.256735_amd64.deb ica_temp
dpkg-deb --control icaclient_13.0.0.256735_amd64.deb ica_temp/DEBIAN

Open het bestand in gedit (of je favoriete editor)

sudo -H gedit ica_temp/DEBIAN/control

Zoek de regel die begint met Depends:.... verwijderen ia32-libs en voeg toe lib32z1 lib32ncurses5 lib32bz2-1.0

Herbouw het aangepaste pakket

dpkg -b ica_temp icaclient-modified.deb

En installeer het

sudo dpkg -i icaclient-modified.deb
sudo apt-get install -f

Het installeren van de citrix-ontvanger vereist ook wat hacken. U kunt de volledige installatie-instructies vinden op de Ubuntu-wiki

Je kunt dit doen met elk oud .deb-pakket dat nog steeds afhankelijk is van ia32-libs.

2. Installeer ia32-libs uit raring repository

Let op: het is erg slecht om oude pakketten te installeren! Helaas heeft u voor sommige binaire installatieprogramma's geen andere keuze.

Je kunt het pakket ia32-libs downloaden van de raring repository. Download het en installeer het handmatig, dan moeten de afhankelijkheden worden opgelost.


41
2017-12-22 00:42



Wat is "FOS"? Ik heb geprobeerd: acronyms.thefreedictionary.com/FOS - Eliptical view
@Elipticalview "Gratis en Open Source". Veranderd naar FLOSS (Free / Libre en open source software), wat vaker voorkomt. - Galgalesh
"Oude pakketten opnieuw verpakken" werkt meestal voor Ubuntu 16.04 Xenial - u hoeft slechts een paar aanpassingen aan de pakketnamen toe te voegen, waarbij u meestal de ": i386" -namespace aan het einde van de pakketnamen toevoegt. Sommige van de pakketten hebben ook andere namen, zoals libbz2-1.0: i386 - Christian Benke


Ik heb gelezen dat je het zou moeten installeren ia32-libs-multiarch pakket in plaats daarvan. Het werkte echter niet voor mij en ik krijg deze foutmelding

ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.

De oplossing die voor mij werkte was om de volgende pakketten te installeren:

sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386

6
2017-08-24 11:24



Werkt ook voor elementaire OS-luna - camelCaseD


Als je die fout krijgt, probeer je:

sudo apt-get update

Probeer het dan opnieuw:

sudo apt-get install ia32-libs

Ik heb net een nieuwe installatie van 12.04 gedaan, dat pakket is nog steeds beschikbaar in de repositories. In feite kreeg ik die fout zelf voordat ik de update uitvoerde. Daarna werkte het prima.


4
2017-12-06 15:50





Ik geloof dat deze specifieke use case is vervangen door de packages "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", wat waarschijnlijk een meer specifiek en nuttig antwoord is dan te zeggen "u kunt multi-arch gebruiken".


1
2018-01-24 21:52



Wat? Er is geen specifiek gebruik van deze vraag. - gertvdijk
@gertvdijk: het pakket zelf vertegenwoordigt een geval van beperkt gebruik; voor een meer algemeen doel kun je meerdere archieven gebruiken, maar voor mensen die dit ene specifieke pakket eerder gebruikten, lijkt het te zijn vervangen door "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", dat je kunt installeren zonder gebruik te hoeven maken van meerdere archieven : die dezelfde gebruiksgevallen behandelt als het vorige pakket. In wezen vond ik deze antwoorden nutteloos, omdat multi-arch overkill was omdat ia32-libs bestonden, verbaasd was dat er geen directe vervanging meer was en dat ik niet teleurgesteld was toen ik dit verder onderzocht. - saurik
Dit was het eenvoudigste antwoord dat een soortgelijk probleem voor mij oploste. Hoewel de aangegeven lib's niets te maken lijken te hebben met het opstarten van een algemeen binary, werkte het wel. - Per Knytt


Ik heb de ia32-libs zo geïnstalleerd (ik run Ubuntu 13.04 Raring Ringtail op een 64-bits machine):

Controleer de eigen architectuur:

$ dpkg --print-architecture

Controleer of er een buitenlandse architectuur is geïnstalleerd:

$ dpkg --print-foreign-architectures

Afhankelijk van de resultaten van de twee bovenstaande opdrachten, werken de volgende drie opdrachten mogelijk (in mijn geval duurde de verwerking lang):

$ sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs

-2
2017-08-02 08:46



Ik krijg: 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 - foobarbecue