svn:加载共享库时出错:libserf-1.so.1:无法打开共享对象文件:没有这样的文件或目录

slo*_*owD 5 svn shared-libraries

我编译了svn 1.8.5并启用了serf.

./configure --prefix=/home/user/Downloads/svn --with-editor=/home/user/Downloads/vim74-install/bin/vim --with-openssl --with-serf=$HOME/Downloads/serf_install && make && make install

然后svn抱怨说:

svn: error while loading shared libraries: libserf-1.so.1: cannot open shared object file: No such file or directory

libserf-1.so.1(它指向该文件)确实存在

$ll $HOME/Downloads/serf_install/lib/libserf-1.so.1 lrwxrwxrwx 1 user group 18 Feb 22 12:50 /home/user/Downloads/serf_install/lib/libserf-1.so.1 -> libserf-1.so.1.3.0 $ll /home/user/Downloads/serf_install/lib/libserf-1.so.1.3.0 -rwxr-xr-x 1 user group 128441 Feb 22 12:50 /home/user/Downloads/serf_install/lib/libserf-1.so.1.3.0

任何想法都表示赞赏.

Mic*_*per 7

问题是,默认情况下,非标准位置中任何动态链接库的绝对路径不包含在最终构建中.假设您使用的是Linux和gcc,您也可以

  • 通过将其他标志传递给链接器来存储完整路径,在编译时解决问题:在上面用configure命令填充LDFLAGS="-Wl,-rpath,$HOME/Downloads/serf_install/lib"./configure...,或者
  • 通过export LD_LIBRARY_PATH="$HOME/Downloads/serf_install/lib:$LD_LIBRARY_PATH"在每次使用svn之前执行或将其添加到.bashrc文件中来解决运行时的问题

前一种解决方案当然是首选,因为它解决了根本问题而不是提供创可贴.