Попытка запустить Game Dev Tycoon на Ubuntu 64. Он запрашивает вышеуказанный объект.
Я побежал, sudo apt-get install libudev1:i386
и он вернулся уже установлен.
У меня есть, /lib/i386-linux-gnu/libudev.so.1
но нет libudev.so.0
нигде.
Попытка запустить Game Dev Tycoon на Ubuntu 64. Он запрашивает вышеуказанный объект.
Я побежал, sudo apt-get install libudev1:i386
и он вернулся уже установлен.
У меня есть, /lib/i386-linux-gnu/libudev.so.1
но нет libudev.so.0
нигде.
Ответы:
Для 64-битной Ubuntu он находится в 32-битном пакете libudev0.
Вы можете установить это с помощью следующей команды:
sudo apt-get install libudev0:i386
Этот пакет был удален из Ubuntu в 14.04. Вам нужно будет установить его из более старой версии.
Чтобы исправить, я связался libudev.so.1
с 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
Самым простым способом, который я нашел, было просто загрузить .deb ( прямая ссылка на 64-разрядную загрузку и 32-разрядную загрузку ) и дважды щелкнуть по нему, чтобы установить его, или использовать dpkg для его установки:
dpkg -i libudev0_175-0ubuntu9_amd64.deb
В предыдущей версии Ubuntu этот пакет был доступен в официальных репозиториях. Вы можете установить со следующим:
sudo apt-get install libudev0:i386
У меня была та же проблема для другой программы, но принятый ответ Шона мне не помог. В моей обновленной установке 64-разрядной версии 13.04 libudev0 недоступен ни в 64-разрядной, ни в форме i386. И ia32-libs уже установлен. Так что без кубиков.
То, что я должен был сделать, было немного измененной версией Senshikaze, более техническим решением. Я вручную вставил ссылку на libudev.so.0 в libudev.so.1 в каталоге x86_64 lib, таким образом:
cd /lib/x86_64-linux-gnu/
sudo ln -sf libudev.so.1 libudev.so.0
Это исправило это для меня.
Эта ошибка может возникать при попытке использовать исполняемый файл nw из Node Webkit . Нравится:
./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
Получить шестнадцатеричный редактор, который позволяет вам изменить ASCII-строку двоичного кода, например. hexedit :
sudo apt-get install hexedit
.cd ~/Dokumenty/node-webkit-*
.sudo
:
sudo hexedit nw
.libudev.so.0
как строку ASCII:
libudev.so.0
.0
в libudev.so.0
строке , чтобы 1
, таким образом это становится: libudev.so.1
:
0
в libudev.so.0
строке.Вы сделали Это также устраняет проблему с бинарным Atraci, когда следует тем же инструкциям, кроме шестнадцатеричного редактирования файла Atraci вместо nw.
cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw
, chmod a+x fixed_nw
а затем вы можете запустить его, не нужно ничего устанавливать
Единственный ответ, который работает в Ubuntu 14.04, - это принятый ответ, и поскольку многие комментарии указывают на то, что это может вызвать проблемы с системой в будущем (хотя я сам не знаю об этом), я пришел к компромиссу. Этот скрипт запросит (в терминале) ваш пароль root. Он создаст символическую ссылку и запустит приложение (в моем случае, время попкорна). Когда вы выйдете из приложения, оно будет использовать существующий сеанс sudo для удаления символической ссылки:
#!/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
Я только что нашел способ сделать эту работу, хотя это довольно глупо.
В моей системе установлен Google Chrome, и в Chrome встроен этот общий объект. Итак, мне просто нужно было сделать символическую ссылку на библиотеку в каталоге установки Chrome.
ln -sf /opt/google/chrome/libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.0
Это работает довольно хорошо для меня.
Это было самое простое решение, которое я нашел
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
как указал Фил Стронг
устанавливать libudev.so.1
sudo apt-get install libudev1:i386
затем свяжите это как libudev.so.0
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
я сделал это 14.04, но должно быть похоже. просто удалите пакет и переустановите. правильные библиотеки установлены соответствующим образом.
apt-get purge google-chrome-stable
apt-get install google-chrome-stable
Я уверен, что другие ответы работают, но у меня есть базовая составляющая изменения объектов файловой системы, которыми управляют пакеты управления конфигурацией.
Это то, что я использовал для решения той же проблемы на 32-битной Ubuntu 15.04.
cd i386-linux-gnu
sudo ln -sf libudev.so.1 libudev.so.0
ОБНОВЛЕНИЕ Я сделал скрипт bash, чтобы обернуть вокруг программу, которую вы хотите выполнить. Вы можете добавить его в локальную папку bin и просто запустить программу без копирования и вставки или запуска сценариев оболочки.
#!/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
СТАРЫЙ ОТВЕТ В Ubuntu 14.04 я получал сообщение об ошибке из Dart Editor при попытке использовать Live Preview (Chromium). Ошибка была решена путем установки libudev1 и создания символической ссылки .
sudo apt-get install libudev1
Я также использовал скрипт, упомянутый выше TenLeftFingers для запуска 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
Если редактор Dart не запускается, убедитесь, что JAVA установлен, и это не проблема с разрешениями.
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
и сделайте IDE исполняемым:
sudo chmod a+x ./DartEditor
Это сработало для меня.
Я получал ту же ошибку в моей 32-битной системе после обновления с Xubuntu Precise до Trusty. Это исправило это для меня:
sudo dpkg-reconfigure google-chrome-stable
Я нашел это здесь . С абсолютно без параметров, я не совсем уверен, как это исправить, но это было сделано. Что мне больше всего понравилось, так это то, что для этого не требовалось делать ничего, что потенциально могло бы вызвать у меня проблемы в будущем, и не требовалось, чтобы я выискивал какие-либо пакеты.
Если кто-нибудь наткнется на эту страницу во время поиска в Интернете исправлений в libudev.so.0 и выпуске Emotiv Epoc SDK Dev Edition для Ubuntu, я надеюсь, что поможет следующее:
// моя конфигурация 64-битная 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, примеры Java и небольшие настраиваемые примеры Qt должны быть в состоянии выполнить после выполнения вышеупомянутого (я уже попробовал все вышеупомянутые шаги + другие, найденные в Интернете (переполнение стека, ..), но ни один не работал для меня, так что это то, что я в конечном итоге сделал после некоторых "попробовать и ошибки"
И последнее, но не менее важное: если кто-нибудь здесь знает, как запускать программы, скомпилированные для 32-битных библиотек, в 64-битной системе, ИСПОЛЬЗУЯ ИСПОЛЬЗОВАНИЕ ПРЕДОСТАВЛЯЕМОЙ 32-битной БИБЛИОТЕКИ 3-Й ПАРТИИ?
точнее, для тех, кто знает, о чем я говорю, как я должен запускать примеры Qt "EmoCube" и "BlueAvatar" в моей 64-битной системе?
-> из того, что я пробовал до сих пор, больше всего я мог получить: «ошибка при загрузке общих библиотек: libedk.so.1: неправильный класс ELF: ELFCLASS64»
Я предполагаю, что символическая ссылка на эту библиотеку в каталоге i386 не сделает это (хотя я еще не пробовал это), поэтому, если у кого-то есть ответ ... Я с нетерпением жду чтения этого.
Ура все +
Запустите эти команды в терминале:
cd /lib/x86_64-linux-gnu/
sudo cp libudev.so.0.13.0 libudev.so.1
Это помогло мне