Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 388607 - dev-vcs/subversion-1.7.1[dso]: perl module gets underlinked
Summary: dev-vcs/subversion-1.7.1[dso]: perl module gets underlinked
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Thomas Sachau
URL:
Whiteboard:
Keywords:
: 392465 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-10-26 19:17 UTC by Fabian Büttner
Modified: 2016-05-21 11:51 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
LD_PRELOAD=/usr/lib/libperl.so ldd -r /usr/lib/perl5/vendor_perl/5.12.4/x86_64-linux/auto/SVN/_Core/_Core.so (ldd_output,3.16 KB, text/plain)
2011-10-26 21:10 UTC, Fabian Büttner
Details
subversion-1.6.17-swig-perl-depend.patch (subversion-1.6.17-swig-perl-depend.patch,630 bytes, patch)
2011-11-16 19:38 UTC, Azamat H. Hackimov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Büttner 2011-10-26 19:17:13 UTC
While trying to init a svn repo with stdlayout using "git svn init -s http://foo.com", I get the following error message:
Can't load '/usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/auto/SVN/_Core/_Core.so' for module SVN::_Core: /usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/auto/SVN/_Core/_Core.so: undefined symbol: svn_swig_pl_thunk_config_enumerator at /usr/lib64/perl5/5.12.4/x86_64-linux/DynaLoader.pm line 200.
 at /usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/SVN/Base.pm line 59
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/SVN/Core.pm line 5.
Compilation failed in require at /usr/libexec/git-core/git-svn line 42.

I have subversion built with the perl use-flag.

regards,
fabian

Reproducible: Always




Portage 2.1.10.31 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 3.1.0-gentoo x86_64)
=================================================================
System uname: Linux-3.1.0-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-2.1
Timestamp of tree: Wed, 26 Oct 2011 16:45:01 +0000
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.68
sys-devel/automake:       1.11.1-r1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r4
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo gentoo-haskell bitcoin x29a
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/haskell /var/lib/layman/bitcoin /usr/local/portage/x29a"
SYNC="rsync://linux.rz.ruhr-uni-bochum.de/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avahi berkdb bluetooth branding bzip2 cairo cdda cdr cleartype cli consolekit cracklib crypt cups cxx darcs dbus dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fortran gdbm gdu gif git gpm gtk iconv ipv6 jpeg lcms ldap libnotify lm_sensors mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png policykit ppds pppd pulseaudio qt3support qt4 readline sdl session spell sse sse2 ssh ssl startup-notification svg sysfs systemd tcpd threads tiff truetype udev unicode usb v4l2 vaapi vdpau vorbis webkit x264 xcb xcomposite xft xinerama xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Rafał Mużyło 2011-10-26 20:38:30 UTC
Which versions of swig do you have installed ?

What does amd64 equivalent of "LD_PRELOAD=/usr/lib/libperl.so ldd -r /usr/lib/perl5/vendor_perl/5.12.4/i686-linux-thread-multi/auto/SVN/_Core/_Core.so" output ?
Comment 2 Fabian Büttner 2011-10-26 21:10:00 UTC
Created attachment 290931 [details]
LD_PRELOAD=/usr/lib/libperl.so ldd -r /usr/lib/perl5/vendor_perl/5.12.4/x86_64-linux/auto/SVN/_Core/_Core.so
Comment 3 Fabian Büttner 2011-10-26 21:12:08 UTC
(In reply to comment #1)
> Which versions of swig do you have installed ?
> 
> What does amd64 equivalent of "LD_PRELOAD=/usr/lib/libperl.so ldd -r
> /usr/lib/perl5/vendor_perl/5.12.4/i686-linux-thread-multi/auto/SVN/_Core/_Core.so"
> output ?

Thanks for the fast reply,

I don't have any versions of swig installed, it didn't get pulled in during the emerge.

But, I just checked back with emerging dev-lang/swig-2.0.4 and the problem still persists, unfortunately i get the same error.

regards,
fabian
Comment 4 Rafał Mużyło 2011-10-26 22:17:03 UTC
Interesting.
Those symbols come from libsvn_swig_perl-1.so.0 - that perl module should link to the lib directly...and in subversion 1.7.0 it did - I need to check if that changed in 1.7.1.
Comment 5 Fabian Büttner 2011-10-27 10:27:20 UTC
(In reply to comment #4)
> Interesting.
> Those symbols come from libsvn_swig_perl-1.so.0 - that perl module should link
> to the lib directly...and in subversion 1.7.0 it did - I need to check if that
> changed in 1.7.1.

Are you sure? I get the same error when i downgrade to subversion 1.7.0.

With google i found this: https://bugs.gentoo.org/show_bug.cgi?id=128624#c12, if i get it correctly, it should work without having swig installed. On the other hand i don't know if he's right :)

I just fixed it with setting the -dso useflag.

regards,
fabian
Comment 6 Rafał Mużyło 2011-10-27 14:32:46 UTC
TBH, it was working for me in in subversion 1.7.1 too, but I've had '-dso' right from the start.
Comment 7 Fabian Büttner 2011-10-28 10:54:29 UTC
(In reply to comment #6)
> TBH, it was working for me in in subversion 1.7.1 too, but I've had '-dso'
> right from the start.

I think portage had set the "-dso perl" use-flags automatically, but when i downgraded svn because i thought there might be an bug as i couldn't get git svn to work, i changed the package.use entry from ">=dev-vcs/subversion=1.7.1 -dso perl" to "dev-vcs/subversion perl".

Sorry for the confusion ...

regards,
fabian
Comment 8 Andy Wilkinson 2011-11-02 23:55:54 UTC
I am having apparently the same issue, with subversion-1.6.17-r7[-dso,perl].  My ldd output is the same as Fabian's.

Output:

$ git svn clone http://foo
Initialized empty Git repository in /home/user/foo/.git
Can't load '/usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/auto/SVN/_Core/_Core.so' for module SVN::_Core: /usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/auto/SVN/_Core/_Core.so: undefined symbol: svn_swig_pl_thunk_config_enumerator at /usr/lib64/perl5/5.12.4/x86_64-linux/DynaLoader.pm line 200.
 at /usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/SVN/Base.pm line 59
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.12.4/x86_64-linux/SVN/Core.pm line 5.
Compilation failed in require at /usr/libexec/git-core/git-svn line 42.
Comment 9 Azamat H. Hackimov 2011-11-16 19:38:03 UTC
Created attachment 292797 [details, diff]
subversion-1.6.17-swig-perl-depend.patch

Hello everyone.

It seems Makefile fails on race condition during creation of perl module. It thinks that libsvn_swig_perl already compiled, but with MAKEOPTS="-jN" this can be wrong.

According this message http://www.mail-archive.com/lfs-support@linuxfromscratch.org/msg16348.html I created patch, that force build Makefile.PL (and perl module) after libsvn_swig_perl. Please test it.
Comment 10 Rafał Mużyło 2011-11-29 21:44:41 UTC
*** Bug 392465 has been marked as a duplicate of this bug. ***
Comment 11 Rafał Mużyło 2011-11-30 16:55:52 UTC
Has somebody already tried reporting this problem upstream ?
Comment 12 Leho Kraav (:macmaN @lkraav) 2011-12-09 11:40:13 UTC
(In reply to comment #9)
> Created attachment 292797 [details, diff] [details, diff]
> subversion-1.6.17-swig-perl-depend.patch
> 
> Hello everyone.
> 
> It seems Makefile fails on race condition during creation of perl module. It
> thinks that libsvn_swig_perl already compiled, but with MAKEOPTS="-jN" this can
> be wrong.
> 
> According this message
> http://www.mail-archive.com/lfs-support@linuxfromscratch.org/msg16348.html I
> created patch, that force build Makefile.PL (and perl module) after
> libsvn_swig_perl. Please test it.

This patch restored "git svn" functionality for me.
Comment 13 Richard Li 2011-12-20 01:25:39 UTC
(In reply to comment #9)
> Created attachment 292797 [details, diff] [details, diff]
> subversion-1.6.17-swig-perl-depend.patch
> 
> Hello everyone.
> 
> It seems Makefile fails on race condition during creation of perl module. It
> thinks that libsvn_swig_perl already compiled, but with MAKEOPTS="-jN" this can
> be wrong.
> 
> According this message
> http://www.mail-archive.com/lfs-support@linuxfromscratch.org/msg16348.html I
> created patch, that force build Makefile.PL (and perl module) after
> libsvn_swig_perl. Please test it.

Thanks Azamat. I had exactly the same issue, and this patch works for me.
Comment 14 Thomas Sachau gentoo-dev 2012-03-11 15:40:28 UTC
Resolved with 1.7.4, should be on your local rsync mirror in a few hours.