Question Comment résoudre une erreur "Impossible d'ouvrir le fichier objet partagé libudev.so.0"?


Essayer de courir Game Dev Tycoon sur Ubuntu 64. Il demande l'objet ci-dessus.

Iran sudo apt-get install libudev1:i386 et il est revenu déjà installé.

j'ai /lib/i386-linux-gnu/libudev.so.1 mais non libudev.so.0 nulle part.


77
2018-05-01 00:27


origine


Cela s'est produit lors de la tentative d'installation de la nouvelle version de Popcorntime sur Mint Petra 16 - igorsantos07


Réponses:


Pour Ubuntu 64 bits, il se trouve dans le paquet libudev0 32 bits.

Vous pouvez installer cela avec la commande suivante:

sudo apt-get install libudev0:i386

Ce paquet a été retiré d'Ubuntu en 14.04. Vous devrez l'installer à partir d'une version antérieure.


26
2018-05-01 13:42



Oh, c'est une bien meilleure solution, merci! - senshikaze
aucun paquet trouvé en essayant de chercher libudev0: i386 des idées? - Jonathan
J'ai fini par faire sudo apt-get install libudev1: i386 puis sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0 - Phil Strong
m'a aidé, merci - dzgeek
Veuillez installer l'ancienne version ici: packages.ubuntu.com/precise/libudev0 - rubo77


Pour réparer, j'ai lié libudev.so.1 à libudev.so.0:

sudo ln -sf /lib/$(arch)-linux-gnu/libudev.so.1 /lib/$(arch)-linux-gnu/libudev.so.0

192
2018-05-01 00:27



pour 64 bits: sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0 - Pisu
S'il vous plaît ne faites pas cela. Il ne demande que des problèmes. - dobey
Cela a foiré Plex Home Theater pour moi, pour supprimer le lien symbolique libudev.so.0 et réinstaller libudev0: i386 - Johan Bjäreholt
Sur 32 bit c'est la commande (au cas où quelqu'un aurait atteint ici): sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0 - amit_saxena
Écoutez dobey, c'est une procédure désordonnée. Ryan Crichton a affiché la bonne façon de le faire ICI. - berbt


Pour Ubuntu 14.04 et supérieur

La méthode la plus simple que j'ai trouvée consistait à téléchargez le .deb (lien direct vers le téléchargement 64 bits et à Téléchargement 32 bits) et double-cliquez dessus pour l'installer ou utilisez dpkg pour l'installer:

dpkg -i libudev0_175-0ubuntu9_amd64.deb

Pour les versions précédentes

Dans la version précédente d'ubuntu, ce paquet était disponible dans les dépôts officiels. Vous pouvez installer avec les éléments suivants:

sudo apt-get install libudev0:i386

49
2018-03-06 10:46



C'EST LA BONNE RÉPONSE. Si un paquet est manquant, vous installez le paquet ... c'est aussi simple que cela. Créer des liens, éditer des noms en hexadécimal, reconfigurer Google Chrome, marteler le processeur et renifler de la poudre de piment ne sont pas de vraies solutions. - berbt
Mais cela ne fonctionne que si ce paquet est disponible. - Tamsyn Michael
@TamsynMichael le package ne doit pas nécessairement être disponible dans les référentiels, vous pouvez le télécharger à partir du lien ci-dessus, puis l'installer manuellement sur les versions ubuntu dont le package n'est pas disponible dans leurs référentiels officiels. - Ryan Crichton
Cela devrait être la bonne réponse! c'est le correctif approprié, pas de liens symboliques désordonnés ou que ce soit - lord-ralf-adolf
C'est la méthode la plus simple que je puisse trouver. L'ajout d'anciennes dépendances au référentiel est un problème - denny


J'ai eu le même problème pour un programme différent, mais la réponse acceptée de Sean ne m'a pas aidé du tout. Sur mon installation mise à niveau de la version 64 bits 13.04, libudev0 n'est pas disponible sous forme 64 bits ou i386. Et ia32-libs est déjà installé. Donc pas de dés.

Ce que je devais faire était une version légèrement modifiée de la solution plus technique de senshikaze. J'ai lié manuellement libudev.so.0 à libudev.so.1 dans le répertoire lib x86_64:

cd /lib/x86_64-linux-gnu/
sudo ln -sf libudev.so.1 libudev.so.0

Cela a corrigé pour moi.


29
2018-06-09 23:49



Cela a corrigé pour moi aussi - exécutant Ubuntu 15.04 64 bit. Merci beaucoup. - Tamsyn Michael


Cette erreur peut survenir lors de la tentative d'utilisation nw exécutable de Node Webkit. Comme ça:

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

Comment résoudre:

  1. Obtenir un éditeur hexadécimal qui vous permet de changer la chaîne ASCII du binaire, par exemple. hexedit:

    • Dans le terminal (Ctrl+Alt+T), courir: sudo apt-get install hexedit.
    • Suivez les instructions présentées dans le terminal (tapez le mot de passe si nécessaire, confirmez l'installation).
  2. Allez dans le répertoire avec noeud webkit:
    • Dans mon cas: cd ~/Dokumenty/node-webkit-*.
  3. Ouvrir nw binaire en utilisant la commande de l'éditeur hexadécimal précédée de sudo:
    • Courir: sudo hexedit nw.
  4. Rechercher libudev.so.0 en chaîne ASCII:
    • Si vous utilisez hexedit: Presse Languette.
    • presse Ctrl+S.
    • Type: libudev.so.0.
  5. Changement 0 dans libudev.so.0 chaîne à 1, donc ça devient: libudev.so.1:
    • Utilisez les touches fléchées pour sélectionner 0 dans libudev.so.0 chaîne.
    • presse 1 sur le clavier.
  6. Quittez et enregistrez les modifications.
    • presse Ctrl+X.
    • presse Y pour enregistrer les modifications.

Vous avez terminé. Cela corrige également le problème avec le binaire Atraci en suivant les mêmes instructions, à l'exception de l'édition hexadécimale du fichier Atraci au lieu de nw.


5
2018-04-27 08:42



cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw, chmod a+x fixed_nw et puis vous pouvez l'exécuter, pas besoin d'installer quoi que ce soit - Catalyst


La seule réponse ici qui fonctionne sur Ubuntu 14.04 est la réponse acceptée, et comme de nombreux commentaires soulignent que cela peut causer des problèmes avec le système (bien que je ne le sache pas moi-même), j'ai trouvé un compromis. Ce script vous demandera (dans le terminal) votre mot de passe root. Il créera le lien symbolique et lancera l'application (dans mon cas, l'heure du pop-corn). Lorsque vous quittez l'application, il utilisera la session sudo existante pour supprimer le lien symbolique:

#!/bin/sh
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
./Popcorn-Time #replace this line with the path to the executable you want to launch
sudo rm /lib/i386-linux-gnu/libudev.so.0

4
2018-04-15 19:59



J'aime cette idée, même si je me demande s'il est possible d'utiliser la variable d'environnement LD_LIBRARY à la place. - Flimm
@Flimm, dites-moi comment vous vous entendez. - TenLeftFingers
J'ai fini par aller avec cette réponse au lieu. - Flimm


Je viens juste de trouver un moyen de faire ce travail, mais c'est assez stupide.

Google Chrome est installé sur mon système et cet objet partagé est intégré à Chrome. Je devais donc créer un lien symbolique vers la bibliothèque du répertoire d'installation de Chrome.

ln -sf /opt/google/chrome/libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.0

Ça marche plutôt bien pour moi.


4
2018-05-09 13:28





C'était la solution la plus simple que j'ai trouvée

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

3
2018-01-09 06:26





comme Phil Strong souligné

installer libudev.so.1

sudo apt-get install libudev1:i386

puis liez-le comme libudev.so.0

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

2
2018-06-06 03:29





Je l'ai fait le 14.04, mais devrait être similaire. Supprimez simplement le paquet et réinstallez-le. les bibliothèques correctes sont installées de manière appropriée.

apt-get purge google-chrome-stable
apt-get install google-chrome-stable

Je suis sûr que les autres réponses fonctionnent, mais j'ai un point de départ dans la modification des objets du système de fichiers qui sont gérés par les packages de gestion de la configuration.


1
2017-09-09 11:44





C'est ce que j'ai utilisé pour résoudre le même problème sur Ubuntu 15.04 32 bits.

cd i386-linux-gnu
sudo ln -sf libudev.so.1 libudev.so.0

1
2018-01-09 19:33