首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svn:加载共享库时出错: libserf-1.so.1:无法打开共享对象文件:没有这样的文件或目录

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

Stack Overflow用户
提问于 2015-02-22 21:12:59
回答 2查看 7.3K关注 0票数 6

我在启用serf的情况下编译了SVN1.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 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

任何想法都会受到赞赏。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-23 06:32:03

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

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

当然,前者是首选的解决方案,因为它从根本上解决了问题,而不是提供绷带。

票数 7
EN

Stack Overflow用户

发布于 2017-05-23 14:38:48

通过添加、LD_LIBRARY_PATH=${SVN_HOME}/lib:${LD_LIBRARY_PATH}导出LD_LIBRARY_PATH解决了问题

在用户的.profile文件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28663316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档