加载共享库时出错,文件太短


15

从我的一位客户那里得到了一个应用程序。当我尝试运行它时,出现以下错误

error while loading shared libraries: ./libvtkWidgets.so.5.4: file too short

在我的项目结构中,我看到以下内容:

-rwxrwxrwx  1 tomasz tomasz       20 2011-02-01 10:44 libvtkWidgets.so
-rwxrwxrwx  1 tomasz tomasz       22 2011-02-01 10:44 libvtkWidgets.so.5.4
-rwxrwxrwx  1 tomasz tomasz  2147103 2011-02-01 10:44 libvtkWidgets.so.5.4.2

我的共享库libvtkWidgets是否已损坏?如何解决该错误?


运行sudo ldconfig给您带来了确切的问题(“文件***为空,未检查。”或“ ***不是符号链接”)
Yan Foto

Answers:


19

复制/提取库可能出错。libvtkWidgets.so和libvtkWidgets.so.5.4不应是文件,而应是符号链接。请尝试以下操作:

rm libvtkWidgets.so.5.4 libvtkWidgets.so
ln -s libvtkWidgets.so.5.4.2 libvtkWidgets.so.5.4
ln -s libvtkWidgets.so.5.4 libvtkWidgets.so

无论如何,您应该检查软件中心是否提供了要安装的软件。如果不可用,并且上述修复程序不起作用,则需要与应用程序提供商联系。


1
非常感谢,确实,我在Windows上提取文件并将提取的文件复制到我的Ubuntu虚拟机时犯了一个错误。这就是所有符号链接都消失了的原因。
tommyk'2

我正在创建自己的C ++扩展,即使将其设置为符号链接,问题仍然存在。有我不知道的缓存吗?
noɥʇʎԀʎzɐɹƆ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.