El ia32-libspaquete ya no está presente en los repositorios Ubuntu 12.04 para un sistema de 64 bits. ¿Hay algún paquete de reemplazo disponible para descargar?
+1, solo iba a hacer exactamente la misma pregunta. ¡SO tiene realmente buenas sugerencias de preguntas!
ulidtko
Respuestas:
97
El paquete ia32-libs fue un truco para instalar paquetes de 32 bits en una instalación de 64 bits. Desde Ubuntu versión 11.10 (Oneiric), se ha agregado Multi Arch . Uno de los objetivos es eliminar el ia32-libspaquete. En su lugar, debe instalar las bibliotecas de 32 bits de un paquete con:
sudo apt-get install package-name:i386
No tiene que preocuparse por esto para los paquetes en los repositorios estándar (por ejemplo, el winepaquete). Para el software externo, es un poco más difícil porque tienes que encontrar las dependencias manualmente. En ese caso, use su motor de búsqueda favorito para encontrar qué bibliotecas necesita.
Parece que todavía existen ia32-libs, pero simplemente como un paquete conveniente para incluir bibliotecas comunes de 32 bits. Este paquete ahora usa Multi Arch para instalar los paquetes de 32 bits correctamente.
Bueno, ¿cómo se supone encontrar todas las dependencias y primero instalar: i386 de esos?
user117
10
@wingman Run ldd, pasando una ruta al binario como argumento. Si la salida contiene una línea como libz.so.1 => not found, entonces necesita encontrar libz.so.1. Puede usar packages.ubuntu.com o apt-file searchpara encontrar el paquete que contiene ese archivo. En el ejemplo que di, necesitas instalar zlib1g:i386.
Lekensteyn
1
Estoy en una computadora con Ubuntu 10.10. siguiendo un tutorial sobre desarrollo de Android, tengo que instalar las ia32-libs. su respuesta habla sobre 11.10, pero para esta computadora? ¿lo que tengo que hacer?
nkint
1
@nkint 10.10 ya no es compatible. Si desea continuar, debe cambiar las fuentes de su paquete . En 10.10 necesitas instalar ia32-libs. Pero incluso entonces no hay garantía de que el SDK de Android funcione con eso.
Lekensteyn
1
@FelipeMicaroniLalli Debe reemplazar package-namepor el nombre real. Use lddpara descubrir, vea el segundo comentario arriba.
Lekensteyn
43
Ubuntu 13.10
¿Que pasó?
El ia32-libspaquete ha sido completamente reemplazado por lib32z1 lib32ncurses5 lib32bz2-1.0. Esto no debería ser un problema porque su funcionalidad sigue ahí, solo en otros paquetes. Sin embargo, no vivimos en un mundo ideal donde todos mantienen sus paquetes y todo el software es FLOSS, por lo que algunos paquetes aún dependen de las ia32-libs.
¿Cómo puedo instalar el paquete x que depende de ia32-libs?
Hay 2 formas:
Puede volver a empaquetarlo manualmente para que ya no dependa de él ia32-libs. (privilegiado)
Puede instalar ia32-libs desde el repositorio Ubuntu 13.04 (Raring Ringtail) (¡ no se prefiere en absoluto !, solo si el primer método no funciona )
1. Reempaquetar paquetes viejos
Usaré el receptor citrix como ejemplo, pero puede usar este método para cualquier paquete .deb:
Primero, descargue el paquete .deb del receptor citrix de su sitio web y haga que un directorio temporal haga el pirateo.
@Elipticalview "Libre y de código abierto". Lo cambié a FLOSS (Free / Libre y software de código abierto), que es más común.
Galgalesh
"Volver a empaquetar paquetes antiguos" funciona principalmente para Ubuntu 16.04 Xenial: solo necesita agregar algunas adaptaciones a los nombres de paquetes, generalmente agregando el espacio de nombres ": i386" al final de los nombres de paquetes. Algunos de los paquetes también tienen nombres diferentes, como libbz2-1.0: i386
Christian Benke
6
Leí que se supone que debes instalar el ia32-libs-multiarchpaquete en su lugar. Sin embargo, no funcionó para mí y recibo este error
ia32-libs-multiarch:i386 : Depends: libgphoto2-2:i386 but it is not going to be installed.
La solución que funcionó para mí fue instalar los siguientes paquetes:
Funciona para el sistema operativo elemental luna también
camelCaseD
4
Si obtiene ese error, intente:
sudo apt-get update
Luego inténtalo de nuevo:
sudo apt-get install ia32-libs
Acabo de hacer una nueva instalación de 12.04, ese paquete todavía está disponible en los repositorios. De hecho, recibí ese error antes de ejecutar la actualización. Luego, funcionó bien.
Creo que este caso de uso específico fue reemplazado por los paquetes "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", que probablemente sea una respuesta más específica y útil que decir "puede usar multi-arco".
¿Qué? No hay un caso de uso específico en esta pregunta.
gertvdijk
1
@gertvdijk: el paquete en sí mismo representa un caso de uso limitado; para un propósito más general, puede realizar múltiples arcos, pero para las personas que usaban este paquete específico anteriormente, parece haber sido reemplazado por "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", que puede instalar sin tener que usar múltiples arcos : que cubre los mismos casos de uso que el paquete anterior. En esencia, encontré estas respuestas inútiles, ya que el arco múltiple era excesivo por la razón de que existían ia32-libs, me sorprendió que no hubiera un reemplazo directo más directo y no me decepcioné cuando investigué esto más a fondo.
saurik
Esta fue la respuesta más simple que resolvió un problema similar para mí. Aunque las bibliotecas indicadas no parecen tener nada que ver con el inicio de un binario general, sí funcionó.
Por Knytt
-2
Instalé las ia32-libs de esta manera (ejecuto Ubuntu 13.04 Raring Ringtail en una máquina de 64 bits):
Comprobar arquitectura propia:
$ dpkg --print-architecture
Compruebe si hay una arquitectura extranjera instalada:
$ dpkg --print-foreign-architectures
Dependiendo de los resultados de los dos comandos anteriores, los siguientes tres comandos podrían funcionar (en mi caso tomó mucho tiempo procesarlos):
Obtengo: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
Respuestas:
El paquete ia32-libs fue un truco para instalar paquetes de 32 bits en una instalación de 64 bits. Desde Ubuntu versión 11.10 (Oneiric), se ha agregado Multi Arch . Uno de los objetivos es eliminar el
ia32-libs
paquete. En su lugar, debe instalar las bibliotecas de 32 bits de un paquete con:No tiene que preocuparse por esto para los paquetes en los repositorios estándar (por ejemplo, el
wine
paquete). Para el software externo, es un poco más difícil porque tienes que encontrar las dependencias manualmente. En ese caso, use su motor de búsqueda favorito para encontrar qué bibliotecas necesita.Parece que todavía existen ia32-libs, pero simplemente como un paquete conveniente para incluir bibliotecas comunes de 32 bits. Este paquete ahora usa Multi Arch para instalar los paquetes de 32 bits correctamente.
fuente
ldd
, pasando una ruta al binario como argumento. Si la salida contiene una línea comolibz.so.1 => not found
, entonces necesita encontrarlibz.so.1
. Puede usar packages.ubuntu.com oapt-file search
para encontrar el paquete que contiene ese archivo. En el ejemplo que di, necesitas instalarzlib1g:i386
.package-name
por el nombre real. Useldd
para descubrir, vea el segundo comentario arriba.Ubuntu 13.10
¿Que pasó?
El
ia32-libs
paquete ha sido completamente reemplazado porlib32z1 lib32ncurses5 lib32bz2-1.0
. Esto no debería ser un problema porque su funcionalidad sigue ahí, solo en otros paquetes. Sin embargo, no vivimos en un mundo ideal donde todos mantienen sus paquetes y todo el software es FLOSS, por lo que algunos paquetes aún dependen de las ia32-libs.¿Cómo puedo instalar el paquete x que depende de ia32-libs?
Hay 2 formas:
ia32-libs
. (privilegiado)1. Reempaquetar paquetes viejos
Usaré el receptor citrix como ejemplo, pero puede usar este método para cualquier paquete .deb:
Primero, descargue el paquete .deb del receptor citrix de su sitio web y haga que un directorio temporal haga el pirateo.
Extrae el paquete
Abra el archivo en gedit (o su editor favorito)
Encuentra la línea que comienza con
Depends:...
. eliminaria32-libs
y agregarlib32z1 lib32ncurses5 lib32bz2-1.0
Reconstruir el paquete modificado
E instalarlo
La instalación del receptor citrix también requiere piratería Puede encontrar las instrucciones completas de instalación en el wiki de Ubuntu
Puede hacer esto con cualquier paquete antiguo .deb que todavía dependa de ia32-libs.
2. Instale ia32-libs desde el repositorio raring
¡Tenga en cuenta que es una muy mala práctica instalar paquetes antiguos! Lamentablemente, para algunos instaladores binarios, no tienes otra opción.
Puede descargar el paquete ia32-libs del repositorio raring . Descárguelo e instálelo manualmente, luego se resolverán las dependencias.
fuente
Leí que se supone que debes instalar el
ia32-libs-multiarch
paquete en su lugar. Sin embargo, no funcionó para mí y recibo este errorLa solución que funcionó para mí fue instalar los siguientes paquetes:
fuente
Si obtiene ese error, intente:
Luego inténtalo de nuevo:
Acabo de hacer una nueva instalación de 12.04, ese paquete todavía está disponible en los repositorios. De hecho, recibí ese error antes de ejecutar la actualización. Luego, funcionó bien.
fuente
Creo que este caso de uso específico fue reemplazado por los paquetes "lib32z1 lib32ncurses5 lib32bz2-1.0 lib32asound2", que probablemente sea una respuesta más específica y útil que decir "puede usar multi-arco".
fuente
Instalé las ia32-libs de esta manera (ejecuto Ubuntu 13.04 Raring Ringtail en una máquina de 64 bits):
Comprobar arquitectura propia:
Compruebe si hay una arquitectura extranjera instalada:
Dependiendo de los resultados de los dos comandos anteriores, los siguientes tres comandos podrían funcionar (en mi caso tomó mucho tiempo procesarlos):
fuente
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