问题描述
尝试在Ubuntu 64上运行Game Dev Tycoon。它要求上述对象。
我跑了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
该软件包已在14.04从Ubuntu中删除。您将需要从旧版本安装它。
次佳解决方案
要修复,我将libudev.so.1
链接到libudev.so.0
:
sudo ln -sf /lib/$(arch)-linux-gnu/libudev.so.1 /lib/$(arch)-linux-gnu/libudev.so.0
第三种解决方案
对于Ubuntu 14.04及以上
我找到的最简单的方法就是download the .deb(direct link to 64-bit download和32-bit download),然后双击它进行安装或使用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链接到x86_64 lib目录中的libudev.so.1,因此:
cd /lib/x86_64-linux-gnu/
sudo ln -sf libudev.so.1 libudev.so.0
这为我修好了。
第五种方案
尝试使用Node Webkit的nw可执行文件时可能会发生此错误。喜欢这个:
./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
怎么解决:
-
获取十六进制编辑器,允许您更改二进制ASCII字符串,例如。 hexedit的:
-
在终端(
Ctrl
+Alt
+T
)中,运行:sudo apt-get install hexedit
。 -
按照终端中显示的说明(如果需要,键入密码,确认安装)。
-
-
转到包含节点webkit的目录:
-
在我的情况下:
cd ~/Dokumenty/node-webkit-*
。
-
-
使用十六进制编辑器命令在
sudo
之前打开nw二进制文件:-
运行:
sudo hexedit nw
。
-
-
以ASCII字符串搜索
libudev.so.0
:-
如果使用hexedit:按
Tab
。 -
按
Ctrl
+S
。 -
类型:
libudev.so.0
。
-
-
将
libudev.so.0
字符串中的0
更改为1
,因此它变为:libudev.so.1
:-
使用箭头键选择
libudev.so.0
字符串中的0
。 -
在键盘上按
1
。
-
-
退出并保存更改。
-
按
Ctrl
+X
。 -
按
Y
保存更改。
-
你完成了。当遵循相同的指令除了十六进制编辑Atraci文件而不是nw以外,这也解决了Atraci二进制文件的问题。
第六种方案
在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
第九种方案
正如Phil Strong指出的那样
安装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