Vraag Hoe los ik de foutmelding "Can not open shared object file libudev.so.0" op?


Probeert te rennen Game Dev Tycoon op Ubuntu 64. Het vraagt ​​naar het bovenstaande object.

ik rende sudo apt-get install libudev1:i386 en het kwam al terug geïnstalleerd.

ik heb /lib/i386-linux-gnu/libudev.so.1 maar nee libudev.so.0 overal.


77
2018-05-01 00:27


oorsprong


Dit gebeurde toen ik probeerde de nieuwe versie van Popcorntime op Mint Petra 16 te installeren - igorsantos07


antwoorden:


Voor 64-bits Ubuntu bevindt dit zich in het 32-bits libudev0-pakket.

U kunt dat met de volgende opdracht installeren:

sudo apt-get install libudev0:i386

Dit pakket is in 14.04 uit Ubuntu verwijderd. U moet het van een oudere versie installeren.


26
2018-05-01 13:42



Oh, dat is een veel betere oplossing, bedankt! - senshikaze
geen pakket gevonden bij het zoeken naar libudev0: i386 ideeën? - Jonathan
Ik eindigde met het doen van sudo apt-get install libudev1: i386 en dan sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0 - Phil Strong
heeft me geholpen, bedankt - dzgeek
Installeer de oude versie van hier: packages.ubuntu.com/precise/libudev0 - rubo77


Om te repareren, heb ik gelinkt libudev.so.1 naar 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



voor 64 bit: sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0 - Pisu
Doe dit alsjeblieft niet. Het vraagt ​​alleen om problemen. - dobey
Dit verknipte Plex Home Theatre voor mij, om te verwijderen verwijder libudev.so.0 symlink en installeer libudev0: i386 opnieuw - Johan Bjäreholt
Op 32 bit is dit het commando (voor het geval iemand hier zou komen): sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0 - amit_saxena
Luister naar dobey, dit is een rommelige procedure. Ryan Crichton plaatste de juiste manier om het te doen HIER. - berbt


Voor ubuntu 14.04 en hoger

De eenvoudigste methode die ik vond was om gewoon download de .deb (directe link naar 64-bit download en naar 32-bits download) en dubbelklik erop om het te installeren of gebruik dpkg om het te installeren:

dpkg -i libudev0_175-0ubuntu9_amd64.deb

Voor vorige versies

In de vorige versie van ubuntu was dit pakket beschikbaar in de officiële repositories. U kunt het volgende installeren:

sudo apt-get install libudev0:i386

49
2018-03-06 10:46



DIT IS HET JUISTE ANTWOORD. Als een pakket ontbreekt, installeert u het pakket ... is dat eenvoudig. Het maken van links, hex-editing-namen, het herconfigureren van Google Chrome, hameren met de CPU en snuiven van chilipoeder zijn geen echte oplossingen. - berbt
Maar het werkt alleen als dat pakket beschikbaar is. - Tamsyn Michael
@TamsynMichael het pakket hoeft niet beschikbaar te zijn in de repository's, je kunt het downloaden via de bovenstaande link en het dan handmatig installeren op ubuntu-versies die het pakket niet beschikbaar hebben in hun officiële repositories. - Ryan Crichton
Dit zou het juiste antwoord moeten zijn! dit is de juiste oplossing, geen rommelige symlinks of wat dan ook - lord-ralf-adolf
Dit is de gemakkelijkste methode die ik kan vinden. Het is lastig om oudere afhankelijkheid aan repository toe te voegen - denny


Ik had hetzelfde probleem voor een ander programma, maar Sean's geaccepteerde antwoord hielp me helemaal niet. Op mijn bijgewerkte installatie van 64-bit 13.04 is libudev0 niet beschikbaar in 64-bit-vorm of in i386-vorm. En ia32-libs is al geïnstalleerd. Dus geen dobbelstenen.

Wat ik moest doen was een iets aangepaste versie van senshikaze's meer technische oplossing. Ik heb libudev.so.0 handmatig gesymlinked naar libudev.so.1 in de x86_64 lib-directory, dus:

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

Dit maakte het voor mij.


29
2018-06-09 23:49



Dit loste het ook voor mij op - draait Ubuntu 15.04 64 bit. Heel erg bedankt. - Tamsyn Michael


Deze fout kan optreden wanneer u probeert te gebruiken nw uitvoerbaar vanaf Node Webkit. Soortgelijk:

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

Hoe op te lossen:

  1. Krijg een hex-editor waarmee je de ASCII-string van het binaire bestand, bijv. hexedit:

    • In terminal (Ctrl+alt+T), rennen: sudo apt-get install hexedit.
    • Volg de instructies in de terminal (typ het wachtwoord indien nodig, bevestig de installatie).
  2. Ga naar map met knoop webkit:
    • In mijn geval: cd ~/Dokumenty/node-webkit-*.
  3. Open nw binair met hex-editor opdracht voorafgegaan met sudo:
    • Rennen: sudo hexedit nw.
  4. Zoeken libudev.so.0 als ASCII-reeks:
    • Als u gebruikt hexedit: Druk op tab.
    • druk op Ctrl+S.
    • Type: libudev.so.0.
  5. Verandering 0 in libudev.so.0 tekenreeks naar 1, zo wordt het: libudev.so.1:
    • Gebruik de pijltjestoetsen om te selecteren 0 in libudev.so.0 draad.
    • druk op 1 op het toetsenbord.
  6. Sluit en sla wijzigingen op.
    • druk op Ctrl+X.
    • druk op Y om wijzigingen op te slaan.

Je bent klaar. Dit lost ook het probleem op met Atraci binary bij het volgen van dezelfde instructies behalve het hex-bewerken van het Atraci-bestand in plaats van nw.


5
2018-04-27 08:42



cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw, chmod a+x fixed_nw en dan kun je het uitvoeren, je hoeft niets te installeren - Catalyst


Het enige antwoord hier dat werkt op Ubuntu 14.04 is het geaccepteerde antwoord, en aangezien veel opmerkingen erop wijzen dat dit problemen met het systeem verderop kan veroorzaken (hoewel ik dat zelf niet weet), kwam ik met een compromis. Dit script vraagt ​​(in de terminal) naar uw root-wachtwoord. Het maakt de symbolische link en start de applicatie (in mijn geval popcorn tijd). Wanneer u de toepassing afsluit, wordt de bestaande sudo-sessie gebruikt om de symbolische koppeling te verwijderen:

#!/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



Ik vind dit idee leuk, hoewel ik me afvraag of er een manier is om LD_LIBRARY omgevingsvariabele te gebruiken. - Flimm
@Flimm, laat me weten hoe je verdergaat. - TenLeftFingers
Ik ging uiteindelijk mee dit antwoord in plaats daarvan. - Flimm


Ik heb net een manier gevonden om dit te laten werken, het is best wel gek.

Ik heb Google Chrome op mijn systeem geïnstalleerd en Chrome heeft dit gedeelde object ingesloten. Dus ik moest gewoon een symbolische link maken naar de bibliotheek in de installatiemap van Chrome.

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

Het werkt prima voor mij.


4
2018-05-09 13:28





Dit was de eenvoudigste oplossing die ik vond

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





als Phil Strong gewezen

installeren libudev.so.1

sudo apt-get install libudev1:i386

koppel het dan als 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





ik deed dit op 14.04, maar zou vergelijkbaar moeten zijn. verwijder gewoon het pakket en installeer het opnieuw. de juiste bibliotheken zijn op de juiste manier geïnstalleerd.

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

ik ben er zeker van dat de andere antwoorden werken, maar ik heb een basisbeetje bij het aanpassen van bestandssysteemobjecten die worden beheerd door configuratiebeheerspakketten.


1
2017-09-09 11:44