FS#14738 - [subversion] git svn is not working since last update

Attached to Project: Arch Linux
Opened by Andi Clemens (TheGrudge) - Sunday, 17 May 2009, 09:39 GMT
Last edited by Douglas Soares de Andrade (dsa) - Tuesday, 09 June 2009, 00:43 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Douglas Soares de Andrade (dsa)
Francois Charette (Firmicus)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 16
Private No

Details

Description:
Since the last update, Git is not working correctly anymore.
When I start 'git svn rebase' in some repository, I get the following message:

Can't load '/usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.so' for module SVN::_Core: /usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.so: undefined symbol: svn_swig_pl_thunk_config_enumerator at /usr/lib/perl5/core_perl/DynaLoader.pm line 203.
at /usr/lib/perl5/vendor_perl/SVN/Base.pm line 59
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/SVN/Core.pm line 5.
Compilation failed in require at /usr/lib/git-core/git-svn line 29.


Additional info:
* package version(s): 1.6.3.1-1

Steps to reproduce:

1. Enter some SVN repository, managed by Git.
2. type 'git svn rebase'

This task depends upon

Closed by  Douglas Soares de Andrade (dsa)
Tuesday, 09 June 2009, 00:43 GMT
Reason for closing:  Fixed
Additional comments about closing:  Rest peacefully, bug !
Comment by xduugu (xduugu) - Sunday, 17 May 2009, 10:18 GMT
It's no bug in the git but in the newest subversion package (1.6.2-2). Reverting to subversion 1.6.2-1 fixes it for me on i686.
Comment by Andi Clemens (TheGrudge) - Sunday, 17 May 2009, 11:19 GMT
Yes, right. Downgrading subversion fixed it.
Comment by Robin Pedersen (Ropez) - Sunday, 17 May 2009, 16:30 GMT
I had the same problem on i686 with other svn commands, like 'git svn init', 'git svn clone'. Apparently x86_64 doesn't have this problem.

Downgrading subverion also fixed the problem for me. I hope this will be fixed.
Comment by Robin Pedersen (Ropez) - Sunday, 17 May 2009, 17:14 GMT
Building subversion 1.6.2-2 from abs also solved the problem
Comment by Vikas Kumar (kvikas) - Monday, 18 May 2009, 14:41 GMT
I do not have subversion-1.6.2-1. Any idea when this bug gets resolved?
Comment by Nicolas Bigaouette (big_gie) - Monday, 18 May 2009, 16:10 GMT
Git probably needs a rebuilt against the lastest subversion? I'm hitting the same problem and downgrading to subversion-1.6.2-2-i686 worked around the problem.
Comment by Vikas Kumar (kvikas) - Monday, 18 May 2009, 16:25 GMT
Git does not have svn as dependency. Is this the reason why a new version of svn did not force new version of git?

Can anyone upload older subversion somewhere. I need it urgently. I use git for all my svn interaction and all my devel work is stopped :-(.
Comment by xduugu (xduugu) - Monday, 18 May 2009, 16:45 GMT
Git doesn't need a rebuild. The subversion package simply lacks a/some file(s) for any reason, but rebuilding subversion fixes it.

@vikas: you can rebuild subversion 1.6.2-2 from abs or use the old package http://arm.nrk.cc/extra::2009-5-16/os/i686/subversion-1.6.2-1-i686.pkg.tar.gz
Comment by Vikas Kumar (kvikas) - Monday, 18 May 2009, 19:21 GMT
@xduugu: thanks for the old package link. It worked.
Comment by Douglas Soares de Andrade (dsa) - Monday, 18 May 2009, 23:56 GMT
Hi,

Can you point me which files are missing ? Subversion is running great here.

What is missing ? And how can subversion impact git ?

Thanks
Comment by Francois Charette (Firmicus) - Tuesday, 19 May 2009, 04:39 GMT
/usr/lib/git-core/git-svn is a perl script which relies on the Perl modules provided by subversion. The problem is with the perl bindings to libsvn. No files are missing in 1.6.2-2 though. But to me it looks like a problem with swig. Which version of swig did you use to compile your package? In any case, I rebuilt it here with an uptodate swig and perl and everything is ok. I can upload my pkg if you wish so.
Comment by Vikas Kumar (kvikas) - Saturday, 23 May 2009, 12:44 GMT
Douglas, When can this be fixed? Everytime i update, i've to downgrade subversion.
Comment by Andi Clemens (TheGrudge) - Saturday, 23 May 2009, 14:12 GMT
Vikas,

why don't you add subversion to the IgnorePkg variable in pacman.conf?
Comment by Francois Charette (Firmicus) - Sunday, 24 May 2009, 11:37 GMT
I just uploaded subversion 1.6.2-3 for i686. It works fine here.
Do I need to rebuild the pkg for x86_64 as well? I'll wait before closing this, in any case.
Comment by Peter Simons (peti) - Sunday, 24 May 2009, 17:50 GMT
On x86, "git svn" works fine again. Thanks!
Comment by Vikas Kumar (kvikas) - Monday, 25 May 2009, 00:42 GMT
git-svn works for me as well on x86. Thanks alot for getting this fixed.
Comment by Andi Clemens (TheGrudge) - Sunday, 31 May 2009, 09:05 GMT
This bug appeared again after the last update of subversion (1.6.2-3 -> 1.6.2-4)
Comment by Francois Charette (Firmicus) - Sunday, 31 May 2009, 12:07 GMT
Sh**t! Non capisco. /me not understand :/ I thought I had checked whether all Perl modules are there...
Hmmm. It seems subversion does not build well in a chroot :(
Good luck Douglas! Tell me if I can be of any help.
Comment by Andi Clemens (TheGrudge) - Wednesday, 03 June 2009, 07:46 GMT
Compiling the subversion package from ABS worked again. But I don't understand this: If the ABS compile is working, why isn't the package? It is created from the same PKGBUILD file.
Comment by Gerardo Exequiel Pozzi (djgera) - Thursday, 04 June 2009, 01:00 GMT
subversion builds without any problems on clean chroot under i686, all files are OK.
Comment by Gerardo Exequiel Pozzi (djgera) - Thursday, 04 June 2009, 02:33 GMT
stop, ignore my last comment the problem is related to the workaround for removing insecure RPATH (  FS#14000  )

subversion will build fine the shared object under /usr/lib/perl5/vendor_perl/auto/SVN/*/*.so _only and only_ if subversion is currently installed in the chroot, or if the workaround for RPATH is removed

why this?

Because in the build command [#1] does not include the path to the library libsvn_swig_perl-1.so.0 like for others libraries:

in my case : /home/djgera/cc/src/subversion-1.6.2/subversion/bindings/swig/perl/libsvn_swig_perl/.libs

the build command with RPATH include this PATH so the shared object is build OK, but embeded this path in the .so :(

The correct lib:
$ readelf -d /usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.so | grep "NEEDED.*swig_per"
0x00000001 (NEEDED) Shared library: [libsvn_swig_perl-1.so.0]


[#1] cc -shared -march=i686 -mtune=generic -O2 -pipe -L/usr/local/lib core.o -o blib/arch/auto/SVN/_Core/_Core.so \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_client/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_delta/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_fs/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_ra/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_repos/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_wc/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_diff/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_subr/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_ra_local/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_ra_svn/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_ra_neon/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_fs_base/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_fs_util/.libs \
-L/home/djgera/cc/src/subversion-1.6.2/subversion/libsvn_fs_fs/.libs \
-lsvn_client-1 -lsvn_delta-1 -lsvn_fs-1 -lsvn_ra-1 -lsvn_repos-1 -lsvn_wc-1 -lsvn_diff-1 -lsvn_subr-1 -lsvn_swig_perl-1

Working on the fix...
Comment by Gerardo Exequiel Pozzi (djgera) - Thursday, 04 June 2009, 04:28 GMT
OK, this is the fix, just insert the fix rpath in the Makefile.in just after execution of perl Makefile.PL for fix Makefiles generated by Perl Makemaker.
So At this point can locate the necesary libs and then are add to linker path. :)

Patch against latest svn trunk (revision 41453)
Comment by Philipp (klmann) - Thursday, 04 June 2009, 16:18 GMT
Thank you Gerardo, this patch fixes the problem for me!
Comment by Peter Simons (peti) - Friday, 05 June 2009, 09:51 GMT
git-svn is broken again after updating to subversion 1.6.2-4. Same error as before.
Comment by Vikas Kumar (kvikas) - Saturday, 06 June 2009, 21:16 GMT
When can be the patched version made available to reposiories?
Comment by Douglas Soares de Andrade (dsa) - Sunday, 07 June 2009, 04:36 GMT
Hi,

Im working on this. Thanks to Gerardo for all his efforts - You have been doing great, dude =)
Comment by Douglas Soares de Andrade (dsa) - Sunday, 07 June 2009, 06:02 GMT
New package added (-5), can you all test please ?
Comment by Gerardo Exequiel Pozzi (djgera) - Sunday, 07 June 2009, 06:31 GMT
Hi Douglas, thanks fo apply it. But there are a problem in the svn patch file [#1], this file don't patch the Makefile.in just create a file named subversion.remove.rpath.round2.patch when patch is executed. So the fix for RPATH isn't applied :(

-6 is needed.


[#1] http://repos.archlinux.org/wsvn/packages/subversion/trunk/subversion.rpath.fix.patch
Comment by Douglas Soares de Andrade (dsa) - Sunday, 07 June 2009, 11:12 GMT
Understood.

Im fixing it, i was building it late here and did not saw did problem in the chroot output.

Sorry and hopefully it will be fixed this time.
Comment by Gerardo Exequiel Pozzi (djgera) - Sunday, 07 June 2009, 19:30 GMT
obrigado! The fight is ended!

* perl shared objects are OK: no RPATH, linked with all libs.
* both pkg i686 and x86_64 contains the same files.

My sign-off.

Many thanks.

Loading...