2011-03-04 15 views
2

我得到这个错误在我的应用程序:错误的文件:libcap.so.1

# bin/ladvd -h 
bin/ladvd: error while loading shared libraries: libcap.so.1: cannot open 
      shared object file: No such file or directory 

我的系统,我安装上了/lib/libcap.so.2,但系统我正在编译(RHEL5)只有libcap.so.1,所以它链接不正确。如果我需要走这条路线,我可以让Ubuntu系统编译它。

在我的Devil-Linux系统上,除了/ root,/ etc和/ var之外,我无法更改文件系统上的任何内容。

如果可以的话,我只会将/lib/libcap.so.1链接到适当的文件,但是我不能在没有大量头痛的情况下更改文件系统。

回答

2

您可以创建在另一个目录的链接,然后在这个目录添加到$LD_LIBRARY_PATH这样的bash命令:

export LD_LIBRARY_PATH=/path/to/your/dir:$LD_LIBRARY_PATH 
+0

很好的协议。我只是把它放在〜/ .bash_profile中,当我登录时它会加载。 – bradlis7 2011-03-04 20:54:36

+1

@ bradlis7,我必须说,使用这样的符号链接是一个Hack,它可以破坏任何东西。此外,如果您有一个链接库(链接步骤从“-lcap”更改为“..path .../libcap.a),则可以考虑链接到此静态链接库(仅此库) – osgx 2011-03-05 00:09:50