git svn命令;svn绑定问题

3
执行 "git svn" init/clone 时,我遇到了以下错误: $ git svn init . 无法加载 '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/SVN/_Core/_Core.so',因为缺少共享对象文件 libsvn_client-1.so.0: No such file or directory,位于 /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm 的第230行。 在 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/SVN/Base.pm 的第59行
BEGIN failed--compilation aborted at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/SVN/Core.pm 的第5行。
在 /usr/local/lib/perl5/site_perl/5.8.8/Git/SVN/Utils.pm 的第6行出错。
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Git/SVN/Utils.pm 的第6行出错。
在 /usr/local/lib/perl5/site_perl/5.8.8/Git/SVN.pm 的第33行出错。
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.8.8/Git/SVN.pm 的第33行出错。
在 /usr/local/libexec/git-core/git-svn 的第25行出错。
BEGIN failed--compilation aborted at /usr/local/libexec/git-core/git-svn 的第25行出错。
已安装以下软件包:
1. git version 1.8.0 2. SWIG Version 2.0.9 使用 g++ [x86_64-unknown-linux-gnu] 编译 配置选项: -pcre 3. svn, version 1.6.18 (r1303927) 编译于 Jan 22 2013, 12:39:04 4. perl, v5.8.8 built for x86_64-linux-thread-multi
感谢您的建议。
2个回答

1

它看起来像文件:

 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/SVN/_Core/_Core.so

缺少文件。它应该是您的svn软件包的一部分。很可能是您的svn编译出了问题(缺少某些perl支持?)。

无论如何,文件_Core.so是以下内容的一部分:

http://rpmfind.net/linux/RPM/dag/redhat/el4/x86_64/extras/subversion-perl-1.4.4-0.1.el4.rfx.x86_64.html

如果您厌倦了编译,可以尝试寻找适当的rpm软件包并安装它。

文件已存在。请查看:>ls /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/SVN/_Core/ _Core.bs _Core.so - rohit
以上所有的软件包都是从源代码安装的,而不是使用rpm包。我使用makefile进行编译和安装。 - rohit
1
请尝试运行命令"ldd _Core.so"检查是否存在问题。同时,请确认perl模块SVN::_Core是否存在,以及libsvn_client-1.so.0是否存在且有效。无疑,错误一定出现在这些文件/模块中。在Makefile编译期间,通常可以切换开/关某些模块(我想你在这种情况下需要一些perl支持)。 - xhudik
所有文件都存在,但是出现了相同的错误。>perl -MSVN::Core -e 0
无法加载模块 SVN::_Core 的 '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/SVN/_Core/_Core.so':libsvn_client-1.so.0:无法打开共享对象文件:没有那个文件或目录,在 /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm 第 230 行。 在 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/SVN/Base.pm 的第 59 行 BEGIN failed--compilation aborted at /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/SVN/Core.pm line 5. 编译失败。 BEGIN failed--compilation aborted.
- rohit
svn-perl-swig-git 之间是否存在版本不匹配的问题?此外,我注意到在“/usr/lib64/perl5”下有3个目录:5.8.8、site_perl 和 vendor_perl。 - rohit
1
看一下错误信息:它说模块 SVN::_Core 无法加载 _Core.so,可能还有 libsvn_client-1.so.0 的其他问题。这些文件不在特定的目录中,或者已经损坏。确保它们真实存在,并且可以通过 ldd 命令正确链接依赖项。你不必关心目录数量 - 只需查看错误消息中写入的目录中是否存在文件即可。 - xhudik

0

感谢你的建议 @xhudik

一切都被正确地安装并位于正确的位置。问题在于正确链接库。只需 export LD_LIBRARY_PATH 即可解决问题。

现在我只需要让这个环境变量保持永久。一切都正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接