¿Cómo arreglar libudev.so.0 que falta para que Chrome comience de nuevo?

27

Intentando iniciar el rendimiento de Chrome en el siguiente error en la línea de comando:

/opt/google/chrome/chrome: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

El error apareció por primera vez en Ubuntu 13.04, intenté purgar y reinstalar Chrome. Persistió después de actualizar a Ubuntu 13.10.

k0pernikus
fuente

Respuestas:

17

Si Chrome no se inicia después de una actualización de Ubuntu de ≤12.10 a ≥13.04, abra una terminal y ejecute el siguiente comando:

sudo dpkg-reconfigure google-chrome-stable

Las explicaciones siguen.


Al menos para las versiones de Chrome de la 28 a la 37, el binario de Chrome puede usar lo que esté libudev.so.0o libudev.so.1esté presente en el sistema. Con la solución al problema 226002 de Chromium / Chrome (que entró en el canal inestable en abril de 2013), el instalador determina cuál usar. Las referencias binarias libudev.so.0; el instalador crea un enlace simbólico desde /opt/google/chrome/libudev.so.0el libudev.so.1en el sistema si libudev.so.0no se encuentra.

Tenga en cuenta que sería una mala idea crear uno /usr/lib. Los números de versión principales en las bibliotecas cambian cuando la versión más nueva es incompatible. La creación de este enlace simbólico funciona bien para Chrome porque solo usa características que son compatibles entre la versión 0 y la versión 1. Otras aplicaciones pueden bloquearse o producir datos corruptos si las obliga a ejecutarse con la versión incorrecta.

El método utilizado por el paquete de Chrome funciona bien en la mayoría de las circunstancias, pero sigue siendo un truco sucio y tiene una limitación. Si el libudev0paquete se desinstala después de instalar Chrome, lo que probablemente sucederá cuando actualice Ubuntu, Chrome seguirá configurado para su uso, libudev.so.0pero el archivo ya no estará disponible. Para solucionar esto, haga que el script de instalación vuelva a ejecutarse, y esta vez detecte que libudev.so.0no está disponible, por lo que debería crear el enlace simbólico para usar libudev.so.1en su lugar. Puede volver a ejecutar el script de instalación ejecutándose dpkg-reconfigure google-chrome-stablecomo root.

Gilles 'SO- deja de ser malvado'
fuente
36

Como Gilles señaló, este enfoque puede conducir a un comportamiento no deseado. Por favor, intente su solución primero . Si no funciona para usted y comprende la implicación de que esto puede conducir a la corrupción silenciosa de datos , puede hacer lo siguiente:

Suponiendo un sistema de 64 bits, el enlace simbólico faltante se puede crear mediante:

sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.3.5 /usr/lib/libudev.so.0

Para Ubuntu 18:

sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.6.9 /usr/lib/libudev.so.0

Para un sistema de 32 bits:

sudo ln -s /lib/i386-linux-gnu/libudev.so.1.3.5  /usr/lib/libudev.so.0

Puede que tenga que verificar su versión local de libudev.

k0pernikus
fuente
1
Esta respuesta también se aplica a problemas como "Google Chrome no se inicia después de la actualización a 13.10".
Sri
Esto también funciona para Dartium (la versión de desarrollo de Chromium con Dart VM integrado). Aunque en su lugar creé el enlace contra el enlace libudev.so.1 con la esperanza de que si la versión cambia el enlace todavía funciona, pero no estoy seguro de eso. Lo único que puedo decir es que funcionó para mí. Kubuntu 14.10.
user69112
2
Esta es una mala idea: funciona para Chrome, pero podría romper otros programas que no provienen de Ubuntu; en lugar de recibir un mensaje de error, podría obtener corrupción de datos silenciosa.
Gilles 'SO- deja de ser malvado'
Esto funciona para mí
Sungguk Lim