As you can see from my emerge info, I have both perl and python use flags. (and have run USE="perl" emerge subversion). When I try to emerge dev-python/SVN-Simple-0.26, I am told that I don't have the perl bindings installed: >>> emerge (2 of 4) dev-perl/SVN-Simple-0.26 to / >>> md5 files ;-) SVN-Simple-0.26.ebuild >>> md5 files ;-) ChangeLog >>> md5 files ;-) metadata.xml >>> md5 files ;-) files/digest-SVN-Simple-0.26 >>> md5 src_uri ;-) SVN-Simple-0.26.tar.gz * You need subversion-0.31+ compiled with Perl bindings. * USE="perl" emerge subversion !!! ERROR: dev-perl/SVN-Simple-0.26 failed. !!! Function pkg_setup, Line 24, Exitcode 0 !!! Need Subversion compiled with Perl bindings. !!! If you need support, post the topmost build error, NOT this status message. However, I don't think this is quite correct, as the line used to discover whether the perl bindings are installed is: if ! perl -MSVN::Core < /dev/null 2> /dev/null but the output of that command is: > perl -MSVN::Core Can't load '/usr/lib/perl5/vendor_perl/5.8.5/i686-linux-thread-multi/auto/SVN/_Core/_Core.so' for module SVN::_Core: /usr/lib/libswigpl.so.0: undefined symbol: PL_markstack_ptr at /usr/lib/perl5/5.8.5/i686-linux-thread-multi/DynaLoader.pm line 230. at /usr/lib/perl5/vendor_perl/5.8.5/i686-linux-thread-multi/SVN/Base.pm line 59 BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.5/i686-linux-thread-multi/SVN/Core.pm line 5. Compilation failed in require. BEGIN failed--compilation aborted. which is a different message to the one I get if I run perl-MSVN::NoSuchModule, so it would appear that the perl bindings have been installed incorrectly (I'm no perl wizard). I am happy to provide any more information that you need to resolve the bug. And fwiw, I have swig version 1.3.21 Reproducible: Always Steps to Reproduce: 1. emerge subversion 2. ACCEPT_KEYWORDS=~x86 emerge svk 3. Actual Results: emerging svk chokes on dev-perl/SVN-Simple-0.26 (as reported above) Expected Results: SVN-Simple should have installed Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.10 i686) ================================================================= System uname: 2.6.10 i686 AMD Athlon(tm) XP 2800+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 14 2005, 10:18:02)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] dev-lang/python: 2.2.3-r5, 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.4.21, 2.6.8.1-r2, 2.4.19-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /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/gconf /etc/init.d /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms strict userpriv" GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.tiscali.nl/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.math.bme.hu" LANG="en_GB" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://mirror.mxtelecom.com/gentoo-portage" USE="x86 X aalib acpi4linux alsa apm arts avi bash-completion berkdb bitmap-fonts bonobo bootsplash cddb cdr cjk crypt cscope cups curl dnd doc dvd emboss encode escreen esd ethereal etwin evo exiscan-acl faad fam fbcon firebird flac foomaticdb foreign-package foreign-sysvinit fortran freetds gb gdgdbm ggi gif gnome gnomedb gpm gstreamer gtk gtk2 gtkhtml icq imagemagick imap imlib innodb ipv6 ithreads jabber java jpeg junit jython kde kdeenablefinal kerberos lcms ldap libg++ libwww live lmtp log4j mad maildir md5sum mikmod mmx motif mozcalendar mozilla mozinterfaceinfo mozp3p mozsvg mozxmlterm mp3 mpeg msn music mysql nas ncurses nls nogcj odbc offensive ogg oggvorbis opengl opie oss pam passfile pcre pda pdflib perl png postgres prebuiltpython qt readline samba sasl sdl slang slp snmp speex spell sqlite ssl startup-notification stream stroke svg svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts usb v4l vim-with-x vorbis wxwindows xalan xinerama xml xml2 xmms xv xvid zlib" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
oh, and just to confirm the obvious: > perl -v This is perl, v5.8.5 built for i686-linux-thread-multi
Try to remerge swig, then subversion. Could you also indicate the versions of these packages?
max@yoke max $ eix swig * dev-lang/swig Available versions: 1.3.21 [M]1.3.24 Installed: 1.3.21 Homepage: http://www.swig.org/ Description: Simplified Wrapper and Interface Generator Found 1 matches max@yoke max $ eix subversion * dev-util/subversion Available versions: 1.0.9 1.1.1-r3 1.1.3 ~1.1.3-r1 ~1.1.4 Installed: 1.1.3 Homepage: http://subversion.tigris.org/ Description: A compelling replacement for CVS I'll just try re-emerging swig... back in 5...
hmm... longer than I thought. having re-emerged swig, SVN-Simple went through no problems, so turns out the problem is in SWIG (perhaps it needs reinstalling when a new version of perl is installed?) but I doubt I'm going to be able to help much with that. Mark as fixed?
Well, swig's the stuff that does the perl bindings. Indeed it should be rebuild with the other perl dependants with new perl versions.
Probably too late for this - but did you run perl-cleaner after upgrading perl? Curious to know if it missed SWIG all together or not.
I'm fairly sure (but afraid not certain) that I did. If one should always run perl-cleaner after a version change, does it not get run automatically? I did it manually - just can't remember if I ran it on all my boxes, but I think I did...
fwiw, I've just had exactly the same problem on another computer... root@nirvana bin # /usr/portage/dev-lang/perl/files/perl-cleaner all; ACCEPT_KEYWORDS=~x86 emerge svk which didn't fix the problem (still fails with the same error) root@nirvana bin # esearch 'swig|^perl$|subversion' [ Results for search key : swig|^perl$|subversion ] [ Applications found : 3 ] * dev-lang/perl Latest version available: 5.8.5-r5 Latest version installed: 5.8.5-r5 Size of downloaded files: 11,651 kB Homepage: http://www.perl.org/ Description: Larry Wall's Practical Extraction and Reporting Language License: Artistic GPL-2 * dev-lang/swig Latest version available: 1.3.21 Latest version installed: 1.3.21 Size of downloaded files: 1,975 kB Homepage: http://www.swig.org/ Description: Simplified Wrapper and Interface Generator License: as-is * dev-util/subversion Latest version available: 1.1.3 Latest version installed: 1.1.3 Size of downloaded files: 6,634 kB Homepage: http://subversion.tigris.org/ Description: A compelling replacement for CVS License: Apache-1.1 root@nirvana bin # emerge --info Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.11 i686) ================================================================= System uname: 2.6.11 i686 AMD Athlon(tm) XP 2100+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 9 2005, 01:58:28)] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /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/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict userpriv" GENTOO_MIRRORS="ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://gentoo.tiscali.nl/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac aim alsa antlr apache2 apm arts avi bash-completion berkdb bitmap-fonts bonobo bsh bzlib cddb cdparanoia cdr cdrom cjk crypt cups curl curlwrappers divx4linux dnd dvd dvdr dvdread eds embossencode esd evo exif faac faad fam flac flatfile foomaticdb fortran freetype fs ftp gd gdbm gif gimpprint gnome gnomedb gnuplot gpm gstreamer gtk gtk2 gtkhtml icq idl ieee1394 imagemagick imap imlib ipv6 ithreads java javamail jce jdepend jpeg junit jython kde libg++ libwww live lm_sensors log4j lzo mad maildir md5sum mikmod mono motif mozcalendar mozdomi mozilla mozsvg mp3 mpeg mpeg4 msn music mysql ncurses network nls ogg oggvorbis ooo-kde opengl opie optional-tasks oss pam pcre pda pdflib perl png python qtquicktime readline regexp rhino sdl slang spell ssl svg svga tcpd tetex theora threads tiff transcode truetype truetype-fonts type1-fonts unicode usb vim-with-x vorbis wifi wxwin xalan xerces xine xineramaxml xml2 xmlrpc xmms xprint xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY I'm fairly confident that when I emerge swig and try again it'll all work - if not, will post back here again.
Do you even know if svn works with a threaded perl? (There's a reason we make you explicitly read all those warnings before letting you enable ithreads.)
(Recovering with coffee) perl-cleaner won't reinstall for the same version of perl. It is only intended to help with perl upgrades of complete version numbers (should have read more before suggesting it the first time). Did you change to a threaded perl at any point? (Threaded perl is only enabled by explicit use of the local use flag - this is intentional, as that flag is only relevant to perl, so no accidental emerges of a threaded perl) Did this ever work with a threaded perl? I know it works with a regular perl.
svn certainly works to some extent (I've quite happily checked something out using svk). I changed to threaded perl to make crossover office install cf http://www.codeweavers.com/support/docs/crossover-pro/troubleshooting#GENTOO-PERL and nothing on my perl has broken yet (well, up until now). Unfortunately saying 'use perl threading at your own risk' isn't much help, as I don't know what works with it and what doesn't, and I need crossover...
vim will have problems, for starters, if compiled with perl support (compiles against libperl.so). We leave the option for a threaded perl because hard-core perl coders want it - its not a default because it too easily breaks too many things. As for your problem - ick. You will need to reinstall a lot of things to get them happy with the newer libperl. The quickest and dirtiest way I can think of is to change line 17 of perl-cleaner to a static (bogus) value, so that it never excludes your current version of perl. (Setting it to something like 4 should work) - then running it with the modules and then libperl options (don't want it to also hack out your ph files in this case)
I'd like to mark this as invalid if there aren't strenuous objections - perl-cleaner didn't miss anything because perl-cleaner was intended to handle folks changing their minds on a threaded vs. non-threaded perl.
Sounds fair - after all, I can't claim that there aren't any warnings about changing perl to use threads... Seems a shame that it doesn't correctly diagnose the problem though.
Max - fwiw, the new version of perl-cleaner (app-admin/perl-cleaner now) has a switch for rebuilding absolutely everything - even those items that normally wouldn't be rebuilt, such as in your case.