Summary: | app-editors/vim and app-editors/gvim fail to build with >=perl-core/ExtUtils-ParseXS-3.20.0 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Graham Murray <graham> |
Component: | Current packages | Assignee: | Vim Maintainers <vim> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | azamat.hackimov, cornicx, dabbott, f3d, fuzzyray, gent_bz, harrisl, help, hsggebhardt, jcwren, kspy, m.debruijne, maksbotan, Martin.Jansa, me, nbowler, perl, remi, slashbeast, transacid, valet3valet |
Priority: | Normal | ||
Version: | 10.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 378783 | ||
Attachments: |
Full Built log as requested
Build log use xsubpp from correct EU::ParseXS use xsubpp from correct EU::ParseXS (Line 2398) adding the proposed patch to all current ebuilds for vim Same patch for gvim /var/log/portage/app-editors:gvim-7.3.266:20110816-185144.log change vim ebuilds to workaround for xsubpp |
Description
Graham Murray
2011-08-07 17:27:43 UTC
Can confirm this bug: same here. Please run perl-cleaner again. Reopen and attach the entire build log for the failing package, if needed. It have nothing to do with gcc-4.5.
I have ~amd64 gentoo however I force gcc, binutils and few other packages from stable tree.
Atm I have gcc-4.4.5 and the error is:
## cut here
>>> Source configured.
>>> Compiling source in /var/portage/tmp/portage/app-editors/vim-7.3.244/work/vim73 ...
make --quiet -j3 -j1 -C src auto/osdef.h objects
make --quiet -j3
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
creating auto/pathdef.c
Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41.
make[1]: *** [auto/if_perl.c] Error 255
make[1]: *** Waiting for unfinished jobs....
make: *** [first] Error 2
emake failed
## cut here.
Tried rebuild perl, libperl and even very every perl-related app (perl-cleaner --reallyall, still failing. It happen to me on each box I updated recently.
If have the same bug on 2 ~amd64 boxes. re-running perl-cleaner did not helped. Someone (moderator or OP) should open this bug again. Created attachment 282495 [details]
Full Built log as requested
Running perl-cleaner did not help
I've tried anything listed (perl-cleaner, manual rebuild of module and so on) without success. I can post full log, but basically is the same. ~amd64, 2 boxes shows the same problem: seems quite confirmed :) I can confirm this on ~amd64, assigning to vim@. My emerge --info: $ emerge --info Portage 2.1.10.10 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 2.6.38-tuxonice-r2 x86_64) ================================================================= System uname: Linux-2.6.38-tuxonice-r2-x86_64-Intel-R-_Pentium-R-_CPU_U5600_@_1.33GHz-with-gentoo-2.0.3 Timestamp of tree: Sun, 07 Aug 2011 20:45:01 +0000 app-shells/bash: 4.2_p10 dev-lang/python: 2.7.2-r2, 3.1.3-r1, 3.2-r2 dev-util/cmake: 2.8.5-r2 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.8.3-r1 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.10.3, 1.11.1-r1 sys-devel/binutils: 2.21.1 sys-devel/gcc: 4.5.3 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.38 (virtual/os-headers) sys-libs/glibc: 2.13-r4 Repositories: gentoo rion ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=core2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=core2" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv" FFLAGS="" GENTOO_MIRRORS="ftp://mirror.yandex.ru/gentoo-distfiles/" LANG="ru_RU.UTF-8" LC_ALL="" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="ru" MAKEOPTS="-j3" 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/rion" SYNC="rsync://mirror.yandex.ru/gentoo-portage/" USE="X a52 aac acl acpi alsa amd64 apm avahi bash-completion berkdb bluetooth bonjour branding bzip2 cairo cdda cli consolekit cracklib crypt cups cxx dbus doomsday dri drm dts dvd dvdr emboss encode exif fam fbcon ffmpeg firefox flac fortran gallium gdbm gdu gif git gpm gstreamer gtk iconv ipod ipv6 jack jpeg laptop lcms libnotify lm_sensors mad mercurial mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin offensive ogg opengl openmp pam pango pcre pdf perl pmu png policykit ppds pppd python qt3support qt4 readline samba scanner sdl session spell sse sse2 ssl startup-notification subversion svg sysfs tcpd tiff truetype udev unicode usb vim-syntax vorbis wifi x264 xcb xcomposite xml xorg xulrunner xv xvid zeroconf 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="braindump flow karbon kexi kpresenter krita tables words" 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="ru" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel i915" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS Build log is attached. Created attachment 282599 [details]
Build log
There some explanations. Perl have two versions of ExtUtils-ParseXS: that came with perl itself, and perl-core/ExtUtils-ParseXS. I guess, all your error affected with new perl-core/ExtUtils-ParseXS-3.20 bumped on 4 august. As temprory workaround downgrade perl-core/ExtUtils-ParseXS to 2.xx version, and vim will compiles. It seems there API breakage with internal (version 2.21) and external (version 3.02) ExtUtils-ParseXS. Created attachment 282677 [details]
use xsubpp from correct EU::ParseXS
The Makefile doesn't use the correct xsubpp. It currently uses the one installed into
$privlib:
vim73/src/configure.in:
vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
vim73/src/config.mk.in:
PERLLIB = @vi_cv_perllib@
One way to fix this is:
- On Gentoo systems /usr/bin/xsubpp is a link to the xsubpp script installed by the newest ExtUtils-ParseXS installed.
Another might be:
- Search for the used ExtUtils::ParseXS module and use the xsubpp in this directory:
dirname `perl -e '$m=pop; eval "use $m"; $m =~ s,::,/,g; print $INC{"$m.pm"}' ExtUtils::ParseXS `
Also affects app-editors/gvim. ... and rxvt-unicode https://bugs.gentoo.org/attachment.cgi?id=282677 fixed it for me (~amd63 vim-7.3.266) *** Bug 379009 has been marked as a duplicate of this bug. *** Created attachment 283149 [details, diff] use xsubpp from correct EU::ParseXS (Line 2398) (In reply to comment #14) > https://bugs.gentoo.org/attachment.cgi?id=282677 > fixed it for me > (~amd63 vim-7.3.266) The line to change varied from 2361 to 2398, see the patch attached. Created attachment 283559 [details, diff]
adding the proposed patch to all current ebuilds for vim
This might not be the best fix, but for now it is a workaround on my machine.
Created attachment 283561 [details, diff]
Same patch for gvim
(In reply to comment #17) > This might not be the best fix, but for now it is a workaround on my machine. It's a workaround. The proper fix should search for the correct xsubpp, like ExtUtils-MakeMaker's tool_xsubpp() (<https://metacpan.org/source/MSTROUT/ExtUtils-MakeMaker-6.59/lib/ExtUtils/MM_Unix.pm#L3457>) postgresql-server-9.0.4-r2 also fails with the same error. Created attachment 283585 [details]
/var/log/portage/app-editors:gvim-7.3.266:20110816-185144.log
great now i get nice error :(
/var/log/portage/app-editors:gvim-7.3.266:20110816-185144.log
Created attachment 283659 [details, diff]
change vim ebuilds to workaround for xsubpp
Something went wrong during upload - the patch I can see online is different from the one I have in my machine. This one tries to correct that.
(In reply to comment #21) > Created attachment 283585 [details] > /var/log/portage/app-editors:gvim-7.3.266:20110816-185144.log > > great now i get nice error :( > > /var/log/portage/app-editors:gvim-7.3.266:20110816-185144.log It does not look, like you applied the patch: Neither does it say anything about applying the xsubpp-patch during prepare nor is the Makefile corrected: You build log says, that you try to call "/usr/lib64/perl5/5.12.4/ExtUtils/xsubpp" instead of the (workaround) "/usr/bin/xsubpp". Note, that at least on my system, the link https://bugs.gentoo.org/attachment.cgi?id=283561&action=edit shows the correct patch code, but https://bugs.gentoo.org/attachment.cgi?id=283659&action=diff does not (I am missing the line "+ $(PERL) /usr/bin/xsubpp -prototypes -typemap \" there). Okay, I committed a fix to vim.eclass instead that applies the same fix to all vim-7.3.* with a simple sed line. Once your rsync picks up the change, you should be able to build both vim and gvim. To check if your vim.eclass contains the change: Check the CVS $Header line and see if you have version 1.199 or later. Also grep for this bug number (378107) in the file. Please reopen this bug if you run into troubles. I guess using /usr/bin/xsubpp will fail for the prefix arches. (In reply to comment #25) > I guess using /usr/bin/xsubpp will fail for the prefix arches. What should they use instead? (In reply to comment #26) > (In reply to comment #25) > > I guess using /usr/bin/xsubpp will fail for the prefix arches. > > What should they use instead? Probably ${EPREFIX}/usr/bin/xsubpp. (In reply to comment #27) > (In reply to comment #26) > > (In reply to comment #25) > > > I guess using /usr/bin/xsubpp will fail for the prefix arches. > > > > What should they use instead? > > Probably ${EPREFIX}/usr/bin/xsubpp. Hopefully. I just changed the eclass again to make it so. I'm running into this one again, after emerging perl and libperl with the same USE flags (https://bugs.gentoo.org/show_bug.cgi?id=18129). I haven't been able to compile vim for a couple months now, and it's hard to believe others aren't hitting this. It's occurring on 4 machines, two running ACCEPT="x86", the other two with ACCEPT="~x86". One of the x86 is a hardened install, one of the ~x86 is also hardened, and the other two vanilla machines. Emerge info below, build log attached. # emerge --info Portage 2.1.10.49 (default/linux/x86/10.0, gcc-4.5.3, glibc-2.14.1-r2, 3.2.5-gentoo-quad i686) ================================================================= System uname: Linux-3.2.5-gentoo-quad-i686-Intel-R-_Core-TM-2_Quad_CPU_Q9300_@_2.50GHz-with-gentoo-2.1 Timestamp of tree: Tue, 20 Mar 2012 04:45:01 +0000 app-shells/bash: 4.2_p24 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.2-r3, 3.2.2 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.9.3 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.10.3, 1.11.3 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.5.1-r1 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.2-r1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r2 Repositories: gentoo msp430 local-repo ardunio ACCEPT_KEYWORDS="x86 ~arm ~x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=core2 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /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="-O2 -march=core2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/var/lib/layman/msp430 /usr/local/portage /usr/local/overlays/arduino" SYNC="rsync://portage.private.com/gentoo-portage" USE="3dnow 3dnowext X a52 accessibility acl acpi alsa apache2 apng arts berkdb bzip2 cairo cdr cli client consolekit cracklib cups cupsddk curl cxx dbus declarative device-mapper dri dvd dvdr dvdread enca encode esd extras fam ffmpeg firefox flac fortran ftpd fuse gd gdbm gnutls gphoto2 gpm gstreamer gtk gudev hpcups httpd iconv icu imagemagick jpeg kde kdepim kpathsea lcms libwww lua mad messenger mikmod minizip mmx mmxext mng modules mozdevelop mozdom mozilla moznocompose mp3 mpeg mplayer mudflap mysql mysqli ncurses nfsv3 nls nptl nptlonly nvidia offensive ogg opengl openmp pam pcre pda pdf perl plasma png policykit pppd python qt3support qt4 quicktime rdoc readline samba sdl secure-delete semantic-desktop server session smp snmp spell sql sqlite sse ssl static-libs subversion svg sysfs tagwriting tcpd threads tiff tk truetype udev unicode usb vorbis webkit win32codecs x86 xinerama xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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" LINGUAS="en" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 ruby19" 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, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS (In reply to comment #29) > Emerge info below, build log attached. Please attach the build log. If it's something like: ... if_perl.c:1102:1: error: static declaration of ‘XS_VIM_Msg’ follows non-static declaration if_perl.xs:916:1: note: previous declaration of ‘XS_VIM_Msg’ was here ... then you probably should file a new bug. I guess it was fixed in 7.3.474 http://code.google.com/p/vim/source/detail?r=7613c9ab083f3e9262be5a21fe086921b757da4c I had created a new entry since I couldn't re-open this one. https://bugs.gentoo.org/show_bug.cgi?id=409045 It has the build log and some additional information. |