<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>128624</bug_id>
          
          <creation_ts>2006-04-03 05:25 0000</creation_ts>
          <short_desc>Trying to run svn-graph.pl subversion branch grapher causes version error feedback.</short_desc>
          <delta_ts>2008-01-05 22:20:07 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>simon.kirk@pinesoft.co.uk</reporter>
          <assigned_to>pauldv@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>simon.kirk@pinesoft.co.uk</who>
            <bug_when>2006-04-03 05:25:09 0000</bug_when>
            <thetext>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 &apos;svn_subr&apos;: 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 &apos;http&apos; scheme
  - handles &apos;https&apos; scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles &apos;svn&apos; scheme
* ra_local : Module for accessing a repository on local disk.
  - handles &apos;file&apos; 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=&quot;x86&quot;
AUTOCLEAN=&quot;yes&quot;
CBUILD=&quot;i686-pc-linux-gnu&quot;
CFLAGS=&quot;-O2 -march=pentium4 -pipe&quot;
CHOST=&quot;i686-pc-linux-gnu&quot;
CONFIG_PROTECT=&quot;/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&quot;
CONFIG_PROTECT_MASK=&quot;/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d&quot;
CXXFLAGS=&quot;-O2 -march=pentium4 -pipe&quot;
DISTDIR=&quot;/usr/portage/distfiles&quot;
FEATURES=&quot;autoconfig ccache distcc distlocks prelink sandbox sfperms strict&quot;
GENTOO_MIRRORS=&quot;http://gentoo.blueyonder.co.uk http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/&quot;
MAKEOPTS=&quot;-j7&quot;
PKGDIR=&quot;/usr/portage/packages&quot;
PORTAGE_TMPDIR=&quot;/var/tmp&quot;
PORTDIR=&quot;/usr/portage&quot;
PORTDIR_OVERLAY=&quot;/usr/local/portage&quot;
SYNC=&quot;rsync://rsync.gentoo.org/gentoo-portage&quot;
USE=&quot;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&quot;
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pauldv@gentoo.org</who>
            <bug_when>2006-04-03 08:38:09 0000</bug_when>
            <thetext>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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>simon.kirk@pinesoft.co.uk</who>
            <bug_when>2006-04-04 02:00:33 0000</bug_when>
            <thetext>Hi. I did an emerge/unmerge, ran the perl cleaner (including cleaning PHs as well as libraries), but I&apos;ve still got the same error message.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pauldv@gentoo.org</who>
            <bug_when>2006-04-04 03:15:24 0000</bug_when>
            <thetext>Could you give the output of &quot;find /usr/lib/perl5/ -path */SVN/*&quot;?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>simon.kirk@pinesoft.co.uk</who>
            <bug_when>2006-04-04 03:19:17 0000</bug_when>
            <thetext>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
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pauldv@gentoo.org</who>
            <bug_when>2006-04-04 03:31:48 0000</bug_when>
            <thetext>I&apos;m baffled where the old version comes from. It shouldn&apos;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&apos;t work because of a changed API. You&apos;d have to be with the script maintainer though.

Does subversion by itself work? You could try checking out subversion from its repository.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>simon.kirk@pinesoft.co.uk</who>
            <bug_when>2006-04-04 06:38:03 0000</bug_when>
            <thetext>It appears that the svn-graph perl script is now included as part of the standard svn distribution. It&apos;s here on my machine:

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

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

Subversion itself is working 100% - I&apos;m using it every day as our company source control system.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>arfrever@gentoo.org</who>
            <bug_when>2007-08-14 05:07:49 0000</bug_when>
            <thetext>Can you still reproduce this bug?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>simon.kirk@pinesoft.co.uk</who>
            <bug_when>2007-08-14 08:50:18 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; Can you still reproduce this bug?
&gt; 

No, these days it&apos;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</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>hollow@gentoo.org</who>
            <bug_when>2007-12-15 10:20:16 0000</bug_when>
            <thetext>works for me with 1.4.5 although the subversion ebuild is missing a dev-lang/swig dependency if one of USE=&quot;perl python ruby&quot; is enabled ... can you please try the 1.4.5 version (with USE=&quot;perl&quot; and swig manually installed before) to see if that works ... i will commit a fixed 1.4.5-r1 then</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>arfrever@gentoo.org</who>
            <bug_when>2007-12-21 19:30:13 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; the subversion ebuild is missing a dev-lang/swig dependency if one of
&gt; USE=&quot;perl python ruby&quot; is enabled ... can you please try the 1.4.5 version
&gt; (with USE=&quot;perl&quot; and swig manually installed before) to see if that
&gt; 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&apos;t require SWIG, unless `make extraclean-swig` is run.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>hollow@gentoo.org</who>
            <bug_when>2007-12-28 13:00:23 0000</bug_when>
            <thetext>(In reply to comment #10)
&gt; No. Normally released versions of Subversion contain prebuilt files generated
&gt; by SWIG, so they don&apos;t require SWIG, unless `make extraclean-swig` is run.

but swig is required at runtime:

Can&apos;t load &apos;/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so&apos; 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.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>arfrever@gentoo.org</who>
            <bug_when>2008-01-05 19:15:46 0000</bug_when>
            <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; No. Normally released versions of Subversion contain prebuilt files
&gt; &gt; generated
&gt; &gt; by SWIG, so they don&apos;t require SWIG, unless `make extraclean-swig` is run.
&gt; 
&gt; but swig is required at runtime:
&gt; 
&gt; Can&apos;t load
&gt; &apos;/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so&apos;
&gt; for module SVN::_Core:
&gt; /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so:
&gt; undefined symbol: svn_swig_pl_thunk_config_enumerator at
&gt; /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
$ </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>arfrever@gentoo.org</who>
            <bug_when>2008-01-05 22:20:07 0000</bug_when>
            <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; No. Normally released versions of Subversion contain prebuilt files
&gt; &gt; &gt; generated
&gt; &gt; &gt; by SWIG, so they don&apos;t require SWIG, unless `make extraclean-swig` is run.
&gt; &gt; 
&gt; &gt; but swig is required at runtime:
&gt; &gt; 
&gt; &gt; Can&apos;t load
&gt; &gt; &apos;/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so&apos;
&gt; &gt; for module SVN::_Core:
&gt; &gt; /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/auto/SVN/_Core/_Core.so:
&gt; &gt; undefined symbol: svn_swig_pl_thunk_config_enumerator at
&gt; &gt; /usr/lib64/perl5/5.8.8/x86_64-linux/DynaLoader.pm line 230.
&gt; 
&gt; That symbol comes from Subversion, not SWIG.
&gt; 
&gt; $ qlist swig | grep lib
&gt; $ qlist swig | grep so
&gt; $ 

Also:
$ ldd /usr/lib/perl5/vendor_perl/5.8.8/*/auto/SVN/*/*so | grep -i swig
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7da8000)
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7d7f000)
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7e5b000)
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7e13000)
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7db8000)
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7df5000)
        libsvn_swig_perl-1.so.0 =&gt; /usr/lib/libsvn_swig_perl-1.so.0 (0xb7dff000)
$ scanelf -qF &quot;%F: %s&quot; -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
$ </thetext>
          </long_desc>
      
    </bug>

</bugzilla>