Le ia32-libspaquet n'est plus présent dans les référentiels Ubuntu 12.04 pour un système 64 bits. Existe-t-il des packages de remplacement disponibles au téléchargement?
+1, allait juste poser exactement la même question. SO a vraiment de bonnes suggestions de questions!
ulidtko
Réponses:
97
Le paquet ia32-libs était un hack pour obtenir des paquets 32 bits installés sur une installation 64 bits. Depuis Ubuntu version 11.10 (Oneiric), Multi Arch a été ajouté. L'un des objectifs est de supprimer le ia32-libspackage. Au lieu de cela, vous devez installer les bibliothèques 32 bits d'un paquet avec:
sudo apt-get install package-name:i386
Vous n'avez pas à vous soucier de cela pour les packages dans les référentiels standard (par exemple, le winepackage). Pour les logiciels externes, c'est un peu plus difficile, car vous devez rechercher les dépendances manuellement. Dans ce cas, utilisez votre moteur de recherche préféré pour rechercher les bibliothèques dont vous avez besoin.
Il semble que ia32-libs existe toujours, mais simplement comme un paquet pratique pour inclure des bibliothèques 32 bits communes. Ce paquet utilise maintenant Multi Arch pour installer correctement les paquets 32 bits.
Eh bien, comment supposer de trouver toutes les dépendances et la première installation: i386 de celles-ci?
user117
10
@wingman Run ldd, en passant un chemin d'accès au binaire en argument. Si la sortie contient une ligne comme libz.so.1 => not found, alors vous devez trouver libz.so.1. Vous pouvez utiliser packages.ubuntu.com ou apt-file searchtrouver le package contenant ce fichier. Dans l'exemple que j'ai donné, vous devez installer zlib1g:i386.
Lekensteyn
1
Je suis dans un ordinateur avec Ubuntu 10.10. suite à un tutoriel sur le développement android, je dois installer le ia32-libs. votre réponse parle de 11.10, mais pour cet ordinateur? Ce que je dois faire?
nkint
1
@nkint 10.10 n'est plus pris en charge. Si vous souhaitez continuer, vous devez modifier les sources de votre package . Dans 10.10, vous devez installer ia32-libs. Mais même dans ce cas, rien ne garantit que le SDK Android fonctionne avec cela.
Lekensteyn
1
@FelipeMicaroniLalli Vous devez remplacer package-namepar le nom réel. Utilisez lddpour comprendre, voir le deuxième commentaire ci-dessus.
Lekensteyn
43
Ubuntu 13.10
Qu'est-il arrivé?
Le ia32-libspaquet a été complètement remplacé par lib32z1 lib32ncurses5 lib32bz2-1.0. Cela ne devrait pas poser de problème car ses fonctionnalités sont toujours présentes, mais uniquement dans d'autres packages. Cependant, nous ne vivons pas dans un monde idéal où tout le monde gère ses packages et où tous les logiciels sont en FLOSS. Certains packages dépendent donc encore de la librairie ia32.
Comment puis-je installer le paquet x qui dépend de ia32-libs
Il y a 2 façons:
Vous pouvez le reconditionner manuellement pour qu'il ne dépende ia32-libsplus du. (préféré)
Vous pouvez installer ia32-libs à partir du référentiel Ubuntu 13.04 (Raring Ringtail) ( pas du tout recommandé !, uniquement si la première méthode ne fonctionne pas )
1. Reconditionner les anciens paquets
Je vais utiliser citrix receiver comme exemple, mais vous pouvez utiliser cette méthode pour n’importe quel paquet .deb:
Commencez par télécharger le package .deb citrix receiver sur leur site web et créez un répertoire temporaire pour le piratage.
L’installation du récepteur Citrix nécessite également du piratage. Vous pouvez trouver les instructions d'installation complètes sur le wiki Ubuntu
Vous pouvez le faire avec n'importe quel ancien paquet .deb qui dépend toujours de ia32-libs.
2. Installez ia32-libs à partir du référentiel raring
S'il vous plaît noter que c'est très mauvaise pratique d'installer de vieux paquets! Malheureusement, pour certains installateurs binaires, vous n’avez pas le choix.
Vous pouvez télécharger le paquet ia32-libs à partir du référentiel raring . Téléchargez-le et installez-le manuellement, les dépendances doivent être résolues.
@Elipticalview "Source libre et ouverte". Changé en FLOSS (logiciel libre / libre et open source), qui est plus commun.
Galgalesh
"Remballer les anciens paquets" fonctionne principalement pour Ubuntu 16.04 Xenial - il vous suffit d'ajouter quelques adaptations aux noms de paquets, généralement en ajoutant l'espace ": i386" à la fin des noms de paquets. Certains paquets ont aussi des noms différents, comme libbz2-1.0: i386
Christian Benke
6
J'ai lu que vous êtes censé installer le ia32-libs-multiarchpaquet à la place. Cependant cela n'a pas fonctionné pour moi et j'ai cette erreur
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
La solution qui a fonctionné pour moi a été d'installer les packages suivants:
Je viens de faire une nouvelle installation de 12.04, ce paquet est toujours disponible dans les référentiels. En fait, j'ai moi-même cette erreur avant d'exécuter la mise à jour. Ensuite, cela a bien fonctionné.
Je crois que ce cas d'utilisation spécifique a été remplacé par les packages "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", ce qui est probablement une réponse plus spécifique et plus utile que de dire "vous pouvez utiliser plusieurs architectures".
Quelle? Il n'y a pas de cas d'utilisation spécifique dans cette question.
gertvdijk
1
@gertvdijk: le paquet lui-même représente un cas d'utilisation limité; pour un usage plus général, vous pouvez multi-arch, mais pour les personnes qui utilisaient auparavant ce paquet spécifique, il semble avoir été remplacé par "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", que vous pouvez installer sans avoir à utiliser plusieurs-arch : qui couvre les mêmes cas d'utilisation que le paquet précédent. Pour l’essentiel, j’ai trouvé ces réponses inutiles, dans la mesure où la multiplicité d’archives était exagérée du fait que ia32-libs existait, étais surprise de constater qu’il n’y avait pas de remplacement immédiat, et je n’ai pas été déçue lorsque j’ai cherché plus avant.
saurik
Ce fut la réponse la plus simple qui résolut un problème similaire pour moi. Même si les bibliothèques indiquées ne semblent avoir rien à voir avec le démarrage d'un binaire général, cela a fonctionné.
Par Knytt
-2
J'ai installé les librairies ia32 comme ceci (je lance Ubuntu 13.04 Raring Ringtail sur une machine 64 bits):
Vérifier sa propre architecture:
$ dpkg --print-architecture
Vérifiez si une architecture étrangère est installée:
$ dpkg --print-foreign-architectures
Selon les résultats des deux commandes ci-dessus, les trois commandes suivantes pourraient fonctionner (le traitement a pris beaucoup de temps dans mon cas):
Je reçois: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
Réponses:
Le paquet ia32-libs était un hack pour obtenir des paquets 32 bits installés sur une installation 64 bits. Depuis Ubuntu version 11.10 (Oneiric), Multi Arch a été ajouté. L'un des objectifs est de supprimer le
ia32-libs
package. Au lieu de cela, vous devez installer les bibliothèques 32 bits d'un paquet avec:Vous n'avez pas à vous soucier de cela pour les packages dans les référentiels standard (par exemple, le
wine
package). Pour les logiciels externes, c'est un peu plus difficile, car vous devez rechercher les dépendances manuellement. Dans ce cas, utilisez votre moteur de recherche préféré pour rechercher les bibliothèques dont vous avez besoin.Il semble que ia32-libs existe toujours, mais simplement comme un paquet pratique pour inclure des bibliothèques 32 bits communes. Ce paquet utilise maintenant Multi Arch pour installer correctement les paquets 32 bits.
la source
ldd
, en passant un chemin d'accès au binaire en argument. Si la sortie contient une ligne commelibz.so.1 => not found
, alors vous devez trouverlibz.so.1
. Vous pouvez utiliser packages.ubuntu.com ouapt-file search
trouver le package contenant ce fichier. Dans l'exemple que j'ai donné, vous devez installerzlib1g:i386
.package-name
par le nom réel. Utilisezldd
pour comprendre, voir le deuxième commentaire ci-dessus.Ubuntu 13.10
Qu'est-il arrivé?
Le
ia32-libs
paquet a été complètement remplacé parlib32z1 lib32ncurses5 lib32bz2-1.0
. Cela ne devrait pas poser de problème car ses fonctionnalités sont toujours présentes, mais uniquement dans d'autres packages. Cependant, nous ne vivons pas dans un monde idéal où tout le monde gère ses packages et où tous les logiciels sont en FLOSS. Certains packages dépendent donc encore de la librairie ia32.Comment puis-je installer le paquet x qui dépend de ia32-libs
Il y a 2 façons:
ia32-libs
plus du. (préféré)1. Reconditionner les anciens paquets
Je vais utiliser citrix receiver comme exemple, mais vous pouvez utiliser cette méthode pour n’importe quel paquet .deb:
Commencez par télécharger le package .deb citrix receiver sur leur site web et créez un répertoire temporaire pour le piratage.
Extraire le paquet
Ouvrez le fichier dans gedit (ou votre éditeur préféré)
Trouvez la ligne qui commence par
Depends:...
. enleveria32-libs
et ajouterlib32z1 lib32ncurses5 lib32bz2-1.0
Reconstruire le paquet modifié
Et l'installer
L’installation du récepteur Citrix nécessite également du piratage. Vous pouvez trouver les instructions d'installation complètes sur le wiki Ubuntu
Vous pouvez le faire avec n'importe quel ancien paquet .deb qui dépend toujours de ia32-libs.
2. Installez ia32-libs à partir du référentiel raring
S'il vous plaît noter que c'est très mauvaise pratique d'installer de vieux paquets! Malheureusement, pour certains installateurs binaires, vous n’avez pas le choix.
Vous pouvez télécharger le paquet ia32-libs à partir du référentiel raring . Téléchargez-le et installez-le manuellement, les dépendances doivent être résolues.
la source
J'ai lu que vous êtes censé installer le
ia32-libs-multiarch
paquet à la place. Cependant cela n'a pas fonctionné pour moi et j'ai cette erreurLa solution qui a fonctionné pour moi a été d'installer les packages suivants:
la source
Si vous obtenez cette erreur, essayez:
Puis réessayez:
Je viens de faire une nouvelle installation de 12.04, ce paquet est toujours disponible dans les référentiels. En fait, j'ai moi-même cette erreur avant d'exécuter la mise à jour. Ensuite, cela a bien fonctionné.
la source
Je crois que ce cas d'utilisation spécifique a été remplacé par les packages "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", ce qui est probablement une réponse plus spécifique et plus utile que de dire "vous pouvez utiliser plusieurs architectures".
la source
J'ai installé les librairies ia32 comme ceci (je lance Ubuntu 13.04 Raring Ringtail sur une machine 64 bits):
Vérifier sa propre architecture:
Vérifiez si une architecture étrangère est installée:
Selon les résultats des deux commandes ci-dessus, les trois commandes suivantes pourraient fonctionner (le traitement a pris beaucoup de temps dans mon cas):
la source
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