Próbuję uruchomić Game Dev Tycoon na Ubuntu 64. Pyta o powyższy obiekt.
Pobiegłem sudo apt-get install libudev1:i386
i wrócił już zainstalowany.
Nie mam, /lib/i386-linux-gnu/libudev.so.1
ale libudev.so.0
nigdzie nie .
Próbuję uruchomić Game Dev Tycoon na Ubuntu 64. Pyta o powyższy obiekt.
Pobiegłem sudo apt-get install libudev1:i386
i wrócił już zainstalowany.
Nie mam, /lib/i386-linux-gnu/libudev.so.1
ale libudev.so.0
nigdzie nie .
Odpowiedzi:
W 64-bitowym systemie Ubuntu jest on w 32-bitowym pakiecie libudev0.
Możesz zainstalować to za pomocą następującego polecenia:
sudo apt-get install libudev0:i386
Ten pakiet został usunięty z Ubuntu w 14.04. Będziesz musiał zainstalować go ze starszej wersji.
Aby naprawić, podłączyłem libudev.so.1
do 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
Najłatwiejszą metodą, jaką znalazłem, było pobranie .deb ( bezpośredni link do pobrania 64-bitowego i pobrania 32-bitowego ) i dwukrotne kliknięcie, aby go zainstalować lub użycie dpkg, aby zainstalować:
dpkg -i libudev0_175-0ubuntu9_amd64.deb
W poprzedniej wersji ubuntu ten pakiet był dostępny w oficjalnych repozytoriach. Możesz zainstalować za pomocą:
sudo apt-get install libudev0:i386
Miałem ten sam problem z innym programem, ale zaakceptowana przez Seana odpowiedź wcale mi nie pomogła. W mojej zaktualizowanej instalacji 64-bitowej wersji 13.04 libudev0 nie jest dostępny ani w wersji 64-bitowej, ani w wersji i386. Ia32-libs jest już zainstalowany. Więc nie ma kości.
To, co musiałem zrobić, to nieco zmodyfikowana wersja bardziej technicznego rozwiązania senshikaze. Ręcznie symlinkowałem libudev.so.0 do libudev.so.1 w katalogu lib x86_64, a zatem:
cd /lib/x86_64-linux-gnu/
sudo ln -sf libudev.so.1 libudev.so.0
Naprawiłem to dla mnie.
Ten błąd może wystąpić podczas próby użycia pliku wykonywalnego nw z pakietu Node Webkit . Lubię to:
./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
Pobierz edytor szesnastkowy, który pozwala zmienić ciąg binarny ASCII, np. hexedit :
sudo apt-get install hexedit
.cd ~/Dokumenty/node-webkit-*
.sudo
:
sudo hexedit nw
.libudev.so.0
jako ciąg ASCII:
libudev.so.0
.0
w libudev.so.0
ciągu do 1
, więc staje się: libudev.so.1
:
0
się w libudev.so.0
ciąg.Jesteś skończony. To rozwiązuje również problem z plikiem binarnym Atraci podczas wykonywania tych samych instrukcji, z wyjątkiem edycji heksadecymalnej pliku Atraci zamiast nw.
cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw
, chmod a+x fixed_nw
a następnie można go uruchomić, nie trzeba niczego instalować
Jedyną odpowiedzią, która działa na Ubuntu 14.04, jest odpowiedź zaakceptowana, a ponieważ wiele komentarzy wskazuje, że może to powodować problemy z systemem w przyszłości (chociaż sam o tym nie wiem), wpadłem na kompromis. Ten skrypt monituje (w terminalu) o podanie hasła roota. Stworzy symboliczne łącze i uruchomi aplikację (w moim przypadku czas popcornu). Po zamknięciu aplikacji użyje istniejącej sesji sudo do usunięcia dowiązania symbolicznego:
#!/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
Właśnie znalazłem sposób, aby to zadziałało, jest jednak dość głupie.
W moim systemie jest zainstalowana Google Chrome, a Chrome ma osadzony ten obiekt udostępniony. Musiałem więc zrobić symboliczny link do biblioteki w katalogu instalacyjnym Chrome.
ln -sf /opt/google/chrome/libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.0
Dla mnie działa całkiem dobrze.
To było najprostsze rozwiązanie, jakie znalazłem
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
jak zauważył Phil Strong
zainstalować libudev.so.1
sudo apt-get install libudev1:i386
następnie połącz to jako libudev.so.0
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
Zrobiłem to 14.04, ale powinno być podobnie. po prostu usuń pakiet i zainstaluj ponownie. prawidłowe biblioteki są odpowiednio zainstalowane.
apt-get purge google-chrome-stable
apt-get install google-chrome-stable
jestem pewien, że pozostałe odpowiedzi działają, ale mam podstawową wiedzę w modyfikowaniu obiektów systemu plików zarządzanych przez pakiety zarządzania konfiguracją.
Właśnie tego użyłem do rozwiązania tego samego problemu na 32-bitowym Ubuntu 15.04.
cd i386-linux-gnu
sudo ln -sf libudev.so.1 libudev.so.0
AKTUALIZACJA Zrobiłem skrypt bash, aby zawinąć program, który chcesz uruchomić. Możesz dodać go do lokalnego folderu bin i po prostu uruchomić program bez kopiowania i wklejania lub uruchamiania skryptów powłoki.
#!/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
STARA ODPOWIEDŹ W Ubuntu 14.04 otrzymywałem komunikat o błędzie z Edytora Dart podczas próby użycia podglądu na żywo (Chromium). Błąd został rozwiązany przez zainstalowanie libudev1 i utworzenie dowiązania symbolicznego .
sudo apt-get install libudev1
Użyłem również skryptu wspomnianego powyżej przez TenLeftFingers do wykonania DartEditor.
#!/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
Jeśli Edytor Dart nie uruchomi się, upewnij się, że JAVA jest zainstalowana i że nie jest to problem z uprawnieniami.
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
i uczynić IDE wykonywalnym:
sudo chmod a+x ./DartEditor
To zadziałało dla mnie.
Ten sam błąd występował w moim 32-bitowym systemie po aktualizacji z Xubuntu Precise do Trusty. Naprawiłem to dla mnie:
sudo dpkg-reconfigure google-chrome-stable
Znalazłem to tutaj . Bez absolutnie żadnych parametrów nie jestem pewien, jak to naprawiło, ale tak się stało. Najbardziej podobało mi się to, że nie wymagało to robienia niczego, co potencjalnie mogłoby powodować problemy w przyszłości, i nie wymagało ode mnie szukania żadnych pakietów.
Jeśli ktoś natknie się na tę stronę podczas kopania sieci w poszukiwaniu poprawek w libudev.so.0 i Emotiv Epoc SDK Dev Edition na Ubuntu, mam nadzieję, że następujące działania pomogą:
// moja konfiguracja to 64-bitowy 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
EmotivControlPanel, EmoKey, EmoComposer, przykłady Java i mało spersonalizowane przykłady Qt powinny być w stanie uruchomić po wykonaniu powyższych czynności (już wypróbowałem wszystkie powyższe kroki + inne znalezione w sieci (przepełnienie stosu, ..), ale żaden nie działał dla mnie, więc to właśnie skończyłem po kilku „próbach i błędach”
Na koniec, jeśli ktoś tutaj wie, jak uruchamiać programy skompilowane z 32-bitowymi bibliotekami lib w 64-bitowym systemie, KIEDY SPECYFIKOWAŁO SIĘ UŻYWAĆ DOSTARCZONEJ BIBLIOTEKI 32BIT?
a dokładniej, dla tych, którzy wiedzą, o czym mówię, jak mam uruchomić przykłady Qt „EmoCube” i „BlueAvatar” na moim 64-bitowym systemie?
-> za to, co do tej pory próbowałem, najbardziej mogłem uzyskać: „błąd podczas ładowania bibliotek współdzielonych: libedk.so.1: niewłaściwa klasa ELF: ELFCLASS64”
Wydaje mi się, że dowiązanie symboliczne do tej biblioteki w katalogu i386 nie dałoby rady (chociaż jeszcze tego nie próbowałem), więc jeśli ktoś ma odpowiedź ... Nie mogę się doczekać, aby ją przeczytać.
Pozdrawiam wszystkich +
Uruchom następujące polecenia w terminalu:
cd /lib/x86_64-linux-gnu/
sudo cp libudev.so.0.13.0 libudev.so.1
To mi pomogło