我似乎无法弄清楚如何修复“加载共享库时出错:libudev.so.0:无法打开共享对象文件:没有此文件或目录”
在 12.04 (精确) 64 位上,我尝试过sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
。但无济于事。
答案1
我从 12.04 升级到 14.04 后遇到了这个问题。我的想法和你一样,用链接来修复这个问题。也许你选择的位置不对?
我曾经find
定位libudev.so.1
:/lib/i386-linux-gnu/libudev.so.1
我通过以下链接解决了我的问题:
ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
使用时find
需要小心;要么使用完整的准确名称,要么使用通配符并将名称放在引号中
答案2
我的做法是针对每个应用程序,而不是针对整个系统。针对每个应用程序,我在下载应用程序的目录中通过发出以下命令创建符号链接:
application_directory$ ln -s /lib/x86_64-linux-gnu/libudev.so.1 libudev.so.0
然后检查它是否解决了依赖关系:
application_directory$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ldd ./<application>
最后,启动应用程序:
application_directory$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./<application>
我更喜欢这种方法,因为它不需要root,但它只有在应用程序安装在你的主目录中时才有效。
否则,您需要像之前一样在系统范围内创建符号链接,但在 /lib 中创建符号链接后,您还需要使用 更新 ld 缓存sudo ldcache -v
。检查 libudev.so.0 行的输出。