Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

511
Views
Ejecutando exe de 32 bits en Ubuntu: libudev.so: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

Estoy tratando de ejecutar un exe que usa libudev.so pero da este error:

error al cargar bibliotecas compartidas: libudev.so.0: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

Ejecutar uname -a da:

3.5.0-44-generic #67~precise1-Ubuntu SMP miércoles 13 de noviembre 16:16:57 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Estoy usando Ubuntu 12.04

Revisé /lib /lib32 /lib64 , no hay libudev allí, pero en Synaptic Manager puedo ver libudev0 instalado (vea la imagen a continuación)

libudev en Synaptic Manager y pude encontrarlo en /lib/x86_64-linux-gnu/libudev.so.0 .

¿Qué podría estar mal?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Resulta (como sospechaba) que intentó ejecutar un ejecutable de 32 bits en un sistema de 64 bits. El kernel de Linux de 64 bits es capaz de ejecutar ejecutables de 32 bits (es por eso que no aparece el "error de formato exec"), pero necesita un conjunto separado de bibliotecas (de 32 bits): versión de 64 bits de libudev.so.0 es inútil para un programa de 32 bits. (Consulte la página de manual de ld.so para obtener algunos detalles sobre la resolución de dependencias de bibliotecas compartidas).

Las distribuciones modernas basadas en Debian admiten la instalación simultánea de bibliotecas para varias arquitecturas. apt-get install libudev0:i386 debería obtener una versión de 32 bits de la biblioteca y todas sus dependencias (puede haber muchas si es la primera vez que usa una aplicación de 32 bits). Si actualizó desde una instalación antigua, es posible que deba agregar i386 a las arquitecturas compatibles con dpkg , como esta:

 dpkg --add-architecture i386

Algunos consejos para usar si el programa también necesita otras bibliotecas:

  • Use ldd para ver todas las dependencias a la vez (y lo que falta)
  • Instale apt-file y ejecute apt-file update , para que pueda buscar un nombre de paquete por un nombre de archivo, incluso si el paquete no está instalado actualmente (como este: apt-file search /libudev.so.0 )

También había una forma antigua de Debian de obtener bibliotecas de 32 bits en un sistema de 64 bits: el paquete ia32-libs en los repositorios amd64 proporcionaba un conjunto de bibliotecas, conceptualmente "todo lo que su aplicación podría necesitar". No use este enfoque a menos que esté ejecutando Debian squeeze o anterior (o una distribución basada en Debian de la misma edad). Incluso cuando funcionó, no había garantía de que el programa no necesitara también otra biblioteca. Ia32-libs fue útil cuando el soporte multiarquitectura aún no estaba listo, y eso fue hace algunos años.

over 4 years ago · Santiago Trujillo Report

0

Acabo de seguir estas instrucciones y funciona bien.

https://askubuntu.com/questions/369310/how-to-fix-missing-libudev-so-0-for-chrome-to-start-again

 sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.3.5 /usr/lib/libudev.so.0
over 4 years ago · Santiago Trujillo Report

0

Intenta crear un enlace simbólico:

 sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!