GNU/Linux >> Tutoriales Linux >  >> Linux

No se puede instalar Gstreamer-ffmpeg de 32 bits Normalmente, ¿la biblioteca no puede encontrar otras bibliotecas de 32 bits?

Estoy en Ubuntu 12.04 de 64 bits y estoy tratando de hacer que un juego (GTA SA) funcione en Wine, pero sigue fallando. Después de leer los registros de errores, parece que necesitaba algunas versiones de gstreamer de 32 bits, probablemente para reproducir el video de introducción. Ya tengo ia32-libs , porque leí en alguna parte que lo necesitaré para ejecutar software de 32 bits. Primero probé:

sudo apt-get install gstreamer0.10-ffmpeg:i386

Que devuelve:

 gstreamer0.10-ffmpeg:i386 : Depends: libavcodec53:i386 (>= 4:0.7.3-1) but it is not going to be installed or
                                      libavcodec-extra-53:i386 (>= 4:0.7.3-1) but it is not going to be installed

Y también depende de libavformat, libpostproc y libswscale con aproximadamente el mismo error. Así que seguí buscando y encontré una buena herramienta, getlibs, que te permite instalar bibliotecas de 32 bits. Creo que simplemente los coloca en /usr/lib32 directorio, que probablemente no sea la mejor manera de hacer esto, pero lo intenté de todos modos.

Así que instalé las bibliotecas de 32 bits con getlibs de las que se quejaba Wine. Ahora tengo diferentes errores, básicamente la biblioteca de 32 bits hace referencia a otras bibliotecas que ahora no puede encontrar. Por ejemplo uno de los errores dice:

Failed to load plugin '/usr/lib32/gstreamer-0.10/libgstffmpeg.so': libavformat.so.53: cannot open shared object file: No such file or directory

Así que mi pensamiento inicial fue correcto, ya que ahora usa la versión de 32 bits. Ahora estaba tratando de resolverlo con ldd para ver dónde la biblioteca hace referencia a otras bibliotecas:

# This one is fine
ldd /usr/lib/gstreamer-0.10/libgstffmpeg.so | grep avformat
libavformat.so.53 => /usr/lib/x86_64-linux-gnu/libavformat.so.53 (0x00007f8314181000)

# This one isn't
ldd /usr/lib32/gstreamer-0.10/libgstffmpeg.so | grep avformat
libavformat.so.53 => not found

De hecho, libgstffmpeg.so no puede encontrar el libavformat.so correcto. Intenté instalar de nuevo la versión de 32 bits de libavformat con getlibs, que la colocó en /usr/lib32/i386-linux-gnu/libavformat.so . Pero ldd todavía me dice que no puede encontrar libavformat. Luego traté de hacer un enlace simbólico en el mismo directorio pero lo llamé libavformat.so.53 e incluso hice un enlace simbólico a `/usr/lib/i386-linux-gnu/libavformat.so.53′, pero ambos me dan el mismo error.

Ahora estoy seguro de que esta no es la forma correcta de hacerlo, pero no sabía cómo hacerlo. Entonces, ¿cuál es la forma correcta de hacer esto, o gstreamer0.10-ffmpeg simplemente no tiene soporte de 32 bits o multilib? ¿Y cómo puedo averiguar cuál es el directorio, donde libgstffmpeg (o cualquier biblioteca, supongo) busca las bibliotecas de 32 bits a las que hace referencia?

Relacionado:Linux:¿cómo incluir en la lista negra un sector de RAM defectuoso correcto de acuerdo con la indicación de error MemTest86+?

Respuesta aceptada:

Prueba:

ldconfig -p | grep lib32

Si no ve ningún resultado, esto se debe a que el caché del enlazador (lea el primer párrafo de man ldconfig , y sobre el -p switch) no hace referencia a /usr/lib32. Revisé un sistema ubuntu 12.04 y eso no está allí de forma predeterminada. Puede agregarlo a:/etc/ld.so.conf.d/libc.conf que puede contener solo /usr/local/lib . Ejecute solo ldconfig , luego el comando -p de arriba. Debería ver las cosas en /usr/lib32; ahora pruebe su ldd en la librería gstreamer de 32 bits nuevamente.


Linux
  1. Linux:¿no se pueden instalar encabezados de Linux (kali Linux)?

  2. Linux:¿debería instalar 32 o 64 bits?

  3. ¿No puede encontrar el archivo para parchear en la línea de entrada 3?

  4. ¿No puede instalar Virtualbox en 15.04?

  5. ld no puede encontrar una biblioteca existente

Cómo instalar la biblioteca Python de PyBrain en Linux

Adb de Android no encontrado

No se puede encontrar el error de pkg-config

Encuentra qué proceso está en el otro extremo de una tubería

Error al instalar extundelete-0.2.0 en CentOS 5.6, error:no se puede encontrar la biblioteca ext2fs

¿Cómo encontrar el otro extremo de la conexión de socket de Unix?