Versucht, Game Dev Tycoon unter Ubuntu 64 auszuführen . Es fragt nach dem obigen Objekt.
Ich lief sudo apt-get install libudev1:i386
und es kam schon installiert zurück.
Ich habe /lib/i386-linux-gnu/libudev.so.1
aber libudev.so.0
nirgends.
Versucht, Game Dev Tycoon unter Ubuntu 64 auszuführen . Es fragt nach dem obigen Objekt.
Ich lief sudo apt-get install libudev1:i386
und es kam schon installiert zurück.
Ich habe /lib/i386-linux-gnu/libudev.so.1
aber libudev.so.0
nirgends.
Antworten:
Für 64-Bit-Ubuntu ist es im 32-Bit-Paket libudev0 enthalten.
Sie können das mit dem folgenden Befehl installieren:
sudo apt-get install libudev0:i386
Dieses Paket wurde in 14.04 von Ubuntu entfernt. Sie müssen es von einer älteren Version installieren.
Um das zu beheben, habe ich verlinkt libudev.so.1
mit libudev.so.0
:
sudo ln -sf /lib/$(arch)-linux-gnu/libudev.so.1 /lib/$(arch)-linux-gnu/libudev.so.0
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
Die einfachste Methode, die ich gefunden habe, war, einfach die .deb-Datei herunterzuladen ( direkter Link zum 64-Bit-Download und zum 32-Bit-Download ) und darauf zu doppelklicken, um sie zu installieren, oder sie mit dpkg zu installieren:
dpkg -i libudev0_175-0ubuntu9_amd64.deb
In früheren Ubuntu-Versionen war dieses Paket in den offiziellen Repositories verfügbar. Sie können Folgendes installieren:
sudo apt-get install libudev0:i386
Ich hatte das gleiche Problem für ein anderes Programm, aber Seans akzeptierte Antwort half mir überhaupt nicht. In meiner aktualisierten Installation von 64-Bit-Version 13.04 ist libudev0 weder in 64-Bit-Form noch in i386-Form verfügbar. Und ia32-libs ist bereits installiert. Also keine Würfel.
Was ich tun musste, war eine leicht modifizierte Version der technischeren Lösung von senshikaze. Ich habe libudev.so.0 manuell mit libudev.so.1 im Verzeichnis x86_64 lib verknüpft, also:
cd /lib/x86_64-linux-gnu/
sudo ln -sf libudev.so.1 libudev.so.0
Das hat es für mich behoben.
Dieser Fehler kann passieren , wenn sie versuchen zu verwenden nw ausführbare Datei von Knoten Webkit . So was:
./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
Holen Sie sich einen Hex-Editor, mit dem Sie die ASCII-Zeichenfolge einer Binärdatei ändern können, z. hexedit :
sudo apt-get install hexedit
.cd ~/Dokumenty/node-webkit-*
.sudo
:
sudo hexedit nw
.libudev.so.0
als ASCII-Zeichenfolge:
libudev.so.0
.0
in libudev.so.0
String 1
, so wird es: libudev.so.1
:
0
in libudev.so.0
String.Sie sind fertig. Dies behebt auch das Problem mit der Atraci-Binärdatei, wenn dieselben Anweisungen befolgt werden, mit Ausnahme der hexadezimalen Bearbeitung der Atraci-Datei anstelle von nw.
cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw
, chmod a+x fixed_nw
und dann können Sie es ausführen, keine Notwendigkeit, etwas zu installieren
Die einzige Antwort, die unter Ubuntu 14.04 funktioniert, ist die akzeptierte Antwort. Da viele Kommentare darauf hinweisen, dass dies Probleme mit dem System verursachen kann (obwohl ich selbst nichts davon weiß), habe ich einen Kompromiss gefunden. Dieses Skript fordert Sie (im Terminal) zur Eingabe Ihres Root-Passworts auf. Es wird die symbolische Verknüpfung erstellt und die Anwendung gestartet (in meinem Fall Popcorn-Zeit). Wenn Sie die Anwendung beenden, wird die vorhandene sudo-Sitzung verwendet, um den symbolischen Link zu entfernen:
#!/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
Ich habe gerade einen Weg gefunden, diese Arbeit zu machen, ist aber ziemlich dumm.
Ich habe Google Chrome auf meinem System installiert und Chrome hat dieses freigegebene Objekt eingebettet. Daher musste ich nur einen symbolischen Link zur Bibliothek im Chrome-Installationsverzeichnis erstellen.
ln -sf /opt/google/chrome/libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.0
Es funktioniert ziemlich gut für mich.
Dies war die einfachste Lösung, die ich gefunden habe
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
wie Phil Strong betonte
Installieren libudev.so.1
sudo apt-get install libudev1:i386
dann verlinke es als libudev.so.0
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
ich habe das am 14.04 gemacht, sollte aber ähnlich sein. Löschen Sie einfach das Paket und installieren Sie es erneut. Die richtigen Bibliotheken werden entsprechend installiert.
apt-get purge google-chrome-stable
apt-get install google-chrome-stable
Ich bin sicher, dass die anderen Antworten funktionieren, aber ich verfüge über grundlegende Kenntnisse beim Ändern von Dateisystemobjekten, die von Konfigurationsverwaltungspaketen verwaltet werden.
Dies ist, was ich verwendet habe, um das gleiche Problem auf 32-Bit-Ubuntu 15.04 zu lösen.
cd i386-linux-gnu
sudo ln -sf libudev.so.1 libudev.so.0
UPDATE Ich habe ein Bash-Skript erstellt, um das Programm, das Sie ausführen möchten, zu umbrechen. Sie können es zu Ihrem lokalen bin-Ordner hinzufügen und das Programm einfach starten, ohne Shell-Skripte kopieren und einfügen oder ausführen zu müssen.
#!/bin/bash
ProgramToExecute="/PATH/TO/PROGRAM" #Example: $HOME/dart/./DartEditor
system=$(uname -m) #Returns x86_64 on 64 bit systems
libdir="/lib/$system-linux-gnu"
libudev1="$libdir/libudev.so.1"
if [ ! -f $libudev1 ]
then
#check if an i386 folder exist because ' uname -m' returns i686 instead of i386.
libdir="/lib/i386-linux-gnu"
libudev1="$libdir/libudev.so.1"
#if none of the lookups return a file, this script exits,
BreakUpNotice="This $libudev1 isn't working out. It's not you
it's me. Or maybe you forgot to install libudev1 library.
sudo apt-get install libudev1 "
[ ! -f $libudev1 ] && echo $BreakUpNotice && exit 0
fi
libudev0="$libdir/libudev.so.0"
echo "$libudev1 found."
sudo ln -sf $libudev1 $libudev0
sudo -k #revoke sudo
$($ProgramToExecute)
NoticeAfterExec="Enter sudo to del libudev link (recommended) or press CTRL+C to cancel."
RmSuccess="And $libudev0 link is gone."
RmFailed="Whaat? $libudev0 still exists."
echo $NoticeAfterExec
sudo rm $libudev0
sudo -k
[ ! -f "$libudev0" ] && echo $RmSuccess || echo $RmFailed
exit
ALTE ANTWORT In Ubuntu 14.04 erhielt ich die Fehlermeldung vom Dart Editor, als ich versuchte, Live Preview (Chromium) zu verwenden. Der Fehler wurde behoben, indem libudev1 installiert und eine symbolische Verknüpfung erstellt wurde .
sudo apt-get install libudev1
Ich habe auch das oben erwähnte Skript von TenLeftFingers verwendet, um DartEditor auszuführen.
#!/bin/sh
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
./DartEditor
sudo rm /lib/i386-linux-gnu/libudev.so.0
Wenn der Dart Editor nicht ausgeführt wird, stellen Sie sicher, dass JAVA installiert ist und dies kein Berechtigungsproblem darstellt.
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
und mache die IDE ausführbar:
sudo chmod a+x ./DartEditor
Das hat bei mir funktioniert.
Auf meinem 32-Bit-System trat nach dem Upgrade von Xubuntu Precise auf Trusty der gleiche Fehler auf. Das hat es für mich behoben:
sudo dpkg-reconfigure google-chrome-stable
Ich habe es hier gefunden . Mit absolut keinen Parametern bin ich nicht ganz sicher, wie dies behoben wurde, aber es tat es. Was mir am besten gefallen hat, ist, dass ich nichts tun musste, was mir in Zukunft Probleme bereiten könnte, und dass ich keine Pakete jagen musste.
Wenn jemand auf diese Seite stößt, während er im Internet nach Updates für libudev.so.0 und die Emotiv Epoc SDK Dev Edition unter Ubuntu sucht, hoffe ich, dass Folgendes hilft:
// Meine Konfiguration ist 64bit Ubuntu 13.04
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1. /lib/x86_64-linux-gnu/libudev.so.1
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1. /lib/i386-linux-gnu/libudev.so.1
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0
Das EmotivControlPanel, EmoKey, EmoComposer, die Java-Beispiele und einige wenige angepasste Qt-Beispiele sollten nach den oben genannten Schritten ausgeführt werden können (ich habe bereits alle oben genannten Schritte ausprobiert + andere im Web gefunden (Stapelüberlauf, ..), aber keine funktionierten Für mich ist es das, was ich nach ein paar "try & errors" gemacht habe.
Last but not least, wenn jemand hier weiß, wie man mit 32-Bit-Bibliotheken kompilierte Programme auf einem 64-Bit-System ausführt.
Genauer gesagt, für diejenigen, die wissen, wovon ich spreche, wie soll ich die Qt-Beispiele "EmoCube" und "BlueAvatar" auf meinem 64-Bit-System ausführen?
-> für das, was ich bisher ausprobiert habe, konnte ich höchstens Folgendes erhalten: "Fehler beim Laden der gemeinsam genutzten Bibliotheken: libedk.so.1: falsche ELF-Klasse: ELFCLASS64"
Ich vermute, ein Symlink zu dieser Bibliothek im i386-Verzeichnis würde es nicht schaffen (obwohl ich es noch nicht ausprobiert habe). Wenn also jemand eine Antwort hat ... Ich freue mich darauf, sie zu lesen.
Alles Gute +
Führen Sie diese Befehle in einem Terminal aus:
cd /lib/x86_64-linux-gnu/
sudo cp libudev.so.0.13.0 libudev.so.1
Das hat mir geholfen