Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 248477

Summary: www-apps/swish-e fails to build w/ glibc-2.8
Product: Gentoo Linux Reporter: Diego Elio Pettenò (RETIRED) <flameeyes>
Component: New packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED FIXED    
Severity: normal CC: esigra, fauli, kentnl, pacho, sandro.bonazzola, wilscarlet
Priority: High Keywords: Inclusion
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 225459    
Attachments: Build log
Build log
Patch for recent perls and recet ExtUtils stuff
www-apps/swish-e/swish-e-2.4.4.ebuild
2.4.4-ebuild-fixed.patch

Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-11-23 22:57:21 UTC
Portage 2.2_rc14 (default/linux/x86/2008.0, gcc-4.1.2-asneeded, glibc-2.8_p20080602-r0, 2.6.27-gentoo-r2 i686)
=================================================================
System uname: Linux-2.6.27-gentoo-r2-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-glibc2.0
Timestamp of tree: Fri, 14 Nov 2008 00:37:01 +0000
distcc 3.0 i686-pc-linux-gnu [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r15, 2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r8
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.3.0-r1
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.19
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/glftpd/etc /opt/glftpd/ftp-data /opt/openfire/resources/security/ /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind /var/lib/hsqldb /var/phxd /var/qmail/alias /var/qmail/control /var/spool/torque /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage-distfiles"
FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo"
INSTALL_MASK=" 	/usr/share/doc 	/usr/share/man 	/usr/share/info"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j14"
PKGDIR="/usr/portage-packages"
PORTAGE_COMPRESS=""
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"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv ipv6 isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd unicode x86 xorg 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-11-23 22:57:44 UTC
Created attachment 173087 [details]
Build log
Comment 2 Will Lepofsky 2009-02-15 20:26:37 UTC
There is a newer version 2.4.5, see bug #223589.  But, it's not in portage yet and it has be released since Mon, 29 Jan 2007 19:59:04 UTC.  Maybe someone should test the newer version.
Comment 3 Christian Faulhammer (RETIRED) gentoo-dev 2009-03-07 11:19:44 UTC
The version bump happened, could you please recheck if it still fails.
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-03-07 12:34:17 UTC
Created attachment 184222 [details]
Build log

No still fails.
Comment 5 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-07 20:39:15 UTC
Could people with this test on their various glibc try compiling/installing/using with USE="-perl" 

There seems to be a bit of lobotomised code in the ebuild at present as well as broken perl code in the perl segment, and in both pasted build logs its failing in perl specific rubbish. 

I've tested on my box with Glib2.9 pre-releases and GCC4.4 which should really break if theres anything wrong with the C part of the deal , but its not, even swish-e-2.4.4 builds fine on it. 

If this is the case then we can nail down the Perl stuff separately ( or drop support if nobody cares I guess ) 
Comment 6 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-07 23:01:47 UTC
Created attachment 184284 [details, diff]
Patch for recent perls and recet ExtUtils stuff

This code hasn't been touched since '05. That was a long time ago. It has lots of dirty tricks in it , and it appears eval in MakeMaker, which is fine, is tripping up the build in the outer layer in ways it shouldn't.

This results in it failing the build for innane things such as 

        if (my $arg_max = eval { require POSIX;  &POSIX::ARG_MAX }) {
            $self->{_MAX_EXEC_LEN} = $arg_max;
        }
        else {      # POSIX minimum exec size
            $self->{_MAX_EXEC_LEN} = 4096;
        }

Where eval is only being used for flow control, but is instead causing a fatal termination condition :/

5 Tonnes of WTF here, but it is ancient code. Also, the ebuild is full of fail too, I architectured that a bit so it at least builds in a normal order instead of doing the Perl stuff during src_install , ugh. 

Hopefully this is the fix that is needed, it passes the build failures on my box. Need some more testing to confirm the modules work as expected because I'm not much of a swish-e user. 

Also, this patch is for 2.4.4, because I haven't synced to get the latest, but it *should* work on 2.4.5 , that file hasn't been modified since '05 after all.
Comment 7 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-07 23:04:39 UTC
Created attachment 184286 [details]
www-apps/swish-e/swish-e-2.4.4.ebuild

swish-e-2.4.4 ebuild with a massive overhaul of stuff done to it. Please test. 

It has very verbose einfo stuff in at the moment because I couldn't otherwise tell where the perly stuff started and stopped, hopefully that's not too annoying. Its got a bit of forward planning in it so its mostly ready for EAPI=2 but its still back on 0 or 1 or whatever 'undef' is.
Comment 8 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-08 00:02:20 UTC
Created attachment 184296 [details, diff]
2.4.4-ebuild-fixed.patch

For interests sake, this is the diff from the previous v of swish-e I have in my tree.
Comment 9 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2009-03-08 16:43:02 UTC

Just tested my patches and bumped ebuild to 2.4.5 , still working there for me.
 
Doh, although, I'm a retard because I was way too tired last night. What logic is there in waiting for a bump to come through from sync when its just a filename change? srsly. 
Comment 10 Christian Faulhammer (RETIRED) gentoo-dev 2009-06-03 06:12:46 UTC
Perl team, all you need is here...please find a commit monkey to get it fixed.
Comment 11 Torsten Veller (RETIRED) gentoo-dev 2009-06-03 08:33:11 UTC
Should be fixed in 2.4.7. Thanks.