我在启用农奴的情况下编译了svn 1.8.5。
./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 directorylibserf-1.so.1(及其指向的文件)确实在那里
$ll $HOME/Downloads/serf_install/lib/libserf-1.so.1lrwxrwxrwx 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
任何想法表示赞赏。

最佳答案

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

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

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

    关于svn:加载共享库时出错:libserf-1.so.1:无法打开共享库文件:没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28663316/

    10-13 09:32