Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 128624
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Paul de Vrieze <pauldv@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Simon Kirk <simon.kirk@pinesoft.co.uk>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 128624 depends on: Show dependency tree
Bug 128624 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2006-04-03 05:25 0000
I was looking for an svn graphing tool, and found the perl script here:
http://danpat.net/~danpat/svn-graph/

When I tried to run the perl file in that url, it threw an error thus:

myhost ~ # perl svn-graph.pl
Incompatible library version: Version mismatch in 'svn_subr': found 1.2.3,
expected 1.3.0 at svn-graph.pl line 10

I have version 1.3 of subversion installed, via keywords to force it to the
unstable branch. Here is the relevant line:

myhost ~ # grep subversion /etc/portage/package.keywords
dev-util/subversion ~x86

It would appear that although subversion is at version 1.3, the RA modules are
not having their versions updated to 1.3 to match, it seems they are still
marked as version 1.2.3. Is this by design, or is it a bug? Here is the output
from svn --version:

myhost ~ # svn --version
svn, version 1.3.0 (r17949)
   compiled Apr  3 2006, 12:42:30

Copyright (C) 2000-2005 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

Here is my emerge --info:
pingu ~ # emerge --info
Portage 2.0.54 (default-linux/x86/2005.0, gcc-3.4.5, glibc-2.3.5-r3,
2.6.15-gentoo-r1 i686)
=================================================================
System uname: 2.6.15-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.66GHz
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distcc distlocks prelink sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk
http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/"
MAKEOPTS="-j7"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 apache2 apm arts audiofile avi berkdb bitmap-fonts bzip2 cgi cli crypt
cups dba dri dvi eds emboss encode expat foomaticdb fortran gd gdbm gif gpm
gstreamer gtk2 idn imagemagick imlib ipv6 isdnlog ithreads jabber java jpeg
lcms libg++ libwww mad maildir mailwrapper mhash mikmod mng motif mp3 mpeg
mysql ncurses nls ogg oggvorbis openal opengl oss pam pcre pdf perl php pic png
postgres pppd python quicktime readline rss sdl session snmp spell ssl
subversion tcpd tetex threads tiff truetype truetype-fonts type1-fonts udev usb
vhosts vorbis xml xmms xv zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS

------- Comment #1 From Paul de Vrieze 2006-04-03 08:38:09 0000 -------
Could you use perl-cleaner to see whether there are stale libraries laying
around?

What might be worthwile is to first unmerge subversion, and then remerge it.

------- Comment #2 From Simon Kirk 2006-04-04 02:00:33 0000 -------
Hi. I did an emerge/unmerge, ran the perl cleaner (including cleaning PHs as
well as libraries), but I've still got the same error message.

------- Comment #3 From Paul de Vrieze 2006-04-04 03:15:24 0000 -------
Could you give the output of "find /usr/lib/perl5/ -path */SVN/*"?

------- Comment #4 From Simon Kirk 2006-04-04 03:19:17 0000 -------
Sure, here you go:

~ # find /usr/lib/perl5/ -path */SVN/*
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Base.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Fs.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Ra.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Wc.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Delta.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Client.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Core.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/SVN/Repos.pm
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Fs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Fs/_Fs.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Fs/_Fs.so
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Ra
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Ra/_Ra.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Ra/_Ra.so
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Wc
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Wc/_Wc.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Wc/_Wc.so
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Core
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Core/.packlist
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Core/_Core.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Core/_Core.so
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Delta
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Delta/_Delta.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Delta/_Delta.so
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Repos
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Repos/_Repos.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Repos/_Repos.so
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Client
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Client/_Client.bs
/usr/lib/perl5/vendor_perl/5.8.7/i686-linux-thread-multi/auto/SVN/_Client/_Client.so

------- Comment #5 From Paul de Vrieze 2006-04-04 03:31:48 0000 -------
I'm baffled where the old version comes from. It shouldn't be there. Sure there
are no subversion libraries lingering around somewhere.

As an aside, I tried the script on my machine, and it didn't work because of a
changed API. You'd have to be with the script maintainer though.

Does subversion by itself work? You could try checking out subversion from its
repository.

------- Comment #6 From Simon Kirk 2006-04-04 06:38:03 0000 -------
It appears that the svn-graph perl script is now included as part of the
standard svn distribution. It's here on my machine:

/usr/share/doc/subversion-1.3.0/client-side/svn-graph.pl

Unfortunately it's still breaking in exactly the same as the version from that
web page :(

Subversion itself is working 100% - I'm using it every day as our company
source control system.

------- Comment #7 From Arfrever Frehtes Taifersar Arahesis 2007-08-14 05:07:49 0000 -------
Can you still reproduce this bug?

------- Comment #8 From Simon Kirk 2007-08-14 08:50:18 0000 -------
(In reply to comment #7)
> Can you still reproduce this bug?
> 

No, these days it's a different error:

pingu ~ # /usr/share/doc/subversion-1.4.4-r2/client-side/svn-graph.pl
file:///home//TestRepo/trunk
/usr/bin/perl: symbol lookup error: /usr/lib/libsvn_client-1.so.0: undefined
symbol: svn_auth_get_username_provider

------- Comment #9 From Benedikt Böhm 2007-12-15 10:20:16 0000 -------
works for me with 1.4.5 although the subversion ebuild is missing a
dev-lang/swig dependency if one of USE="perl python ruby" is enabled ... can
you please try the 1.4.5 version (with USE="perl" and swig manually installed
before) to see if that works ... i will commit a fixed 1.4.5-r1 then

------- Comment #10 From Arfrever Frehtes Taifersar Arahesis 2007-12-21 19:30:13 0000 -------
(In reply to comment #9)
> the subversion ebuild is missing a dev-lang/swig dependency if one of
> USE="perl python ruby" is enabled ... can you please try the 1.4.5 version
> (with USE="perl" and swig manually installed before) to see if that
> works ... i will commit a fixed 1.4.5-r1 then

No. Normally released versions of Subversion contain prebuilt files generated
by SWIG, so they don't require SWIG, unless `make extraclean-swig` is run.

------- Comment #11 From Benedikt Böhm 2007-12-28 13:00:23 0000 -------
(In reply to comment #10)
> No. Normally released versions of Subversion contain prebuilt files generated
> by SWIG, so they don't require SWIG, unless `make extraclean-swig` is run.

but swig is required at runtime:

Can't load
'/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so' for
module SVN::_Core:
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so:
undefined symbol: svn_swig_pl_thunk_config_enumerator at
/usr/lib64/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 230.

(oddly enough this error does not go away by installing swig after subversion,
so it needs to be a build depend nevertheless)

fixed in 1.4.6, please test.

------- Comment #12 From Arfrever Frehtes Taifersar Arahesis 2008-01-05 19:15:46 0000 -------
(In reply to comment #11)
> (In reply to comment #10)
> > No. Normally released versions of Subversion contain prebuilt files
> > generated
> > by SWIG, so they don't require SWIG, unless `make extraclean-swig` is run.
> 
> but swig is required at runtime:
> 
> Can't load
> '/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so'
> for module SVN::_Core:
> /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so:
> undefined symbol: svn_swig_pl_thunk_config_enumerator at
> /usr/lib64/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 230.

That symbol comes from Subversion, not SWIG.

$ qlist swig | grep lib
$ qlist swig | grep so
$ 

------- Comment #13 From Arfrever Frehtes Taifersar Arahesis 2008-01-05 22:20:07 0000 -------
(In reply to comment #12)
> (In reply to comment #11)
> > (In reply to comment #10)
> > > No. Normally released versions of Subversion contain prebuilt files
> > > generated
> > > by SWIG, so they don't require SWIG, unless `make extraclean-swig` is run.
> > 
> > but swig is required at runtime:
> > 
> > Can't load
> > '/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so'
> > for module SVN::_Core:
> > /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so:
> > undefined symbol: svn_swig_pl_thunk_config_enumerator at
> > /usr/lib64/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 230.
> 
> That symbol comes from Subversion, not SWIG.
> 
> $ qlist swig | grep lib
> $ qlist swig | grep so
> $ 

Also:
$ ldd /usr/lib/perl5/vendor_perl/5.8.8/*/auto/SVN/*/*so | grep -i swig
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7da8000)
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7d7f000)
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7e5b000)
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7e13000)
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7db8000)
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7df5000)
        libsvn_swig_perl-1.so.0 => /usr/lib/libsvn_swig_perl-1.so.0
(0xb7dff000)
$ scanelf -qF "%F: %s" -s svn_swig_pl_thunk_config_enumerator
/usr/lib/perl5/vendor_perl/5.8.8/*/auto/SVN/*/*so /usr/lib/libsvn*
/usr/lib/perl5/vendor_perl/5.8.8/i686-linux/auto/SVN/_Core/_Core.so:
svn_swig_pl_thunk_config_enumerator
/usr/lib/libsvn_swig_perl-1.so: svn_swig_pl_thunk_config_enumerator
/usr/lib/libsvn_swig_perl-1.so.0: svn_swig_pl_thunk_config_enumerator
/usr/lib/libsvn_swig_perl-1.so.0.0.0: svn_swig_pl_thunk_config_enumerator
$ 

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug