Attempting to update glibc from 2.12.2 to 2.14.1 on PPC, configure fails with "configure: error: the compiler must support C cleanup handling". GCC version is 4.5.3-r1 Reproducible: Always Steps to Reproduce: 1. emerge =sys-libs/glibc-2.14.1 Actual Results: Fails with error in configure. Expected Results: Successful build and merge Portage 2.1.10.39 (default/linux/powerpc/ppc32/10.0, gcc-4.5.3, glibc-2.12.2-r0, 3.0.3-gentoo ppc) ================================================================= System uname: Linux-3.0.3-gentoo-ppc-7450,_altivec_supported-with-gentoo-2.1 Timestamp of tree: Tue, 29 Nov 2011 16:30:01 +0000 app-shells/bash: 4.2_p10 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.6.5-r3, 2.7.2-r3, 3.1.3-r1, 3.2.2 dev-util/cmake: 2.8.6-r1 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.4 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-r1 sys-devel/gcc: 4.3.6-r1, 4.4.5, 4.5.3-r1 sys-devel/gcc-config: 1.5-r2 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 2.6.39 (virtual/os-headers) sys-libs/glibc: 2.12.2 Repositories: gentoo flameeyes-overlay sunrise ACCEPT_KEYWORDS="ppc ~ppc" ACCEPT_LICENSE="* -@EULA" CBUILD="powerpc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=G4 -fno-strict-aliasing -pipe -Wall -Wextra" CHOST="powerpc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/openvpn/easy-rsa" 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" CXXFLAGS="-O2 -mcpu=G4 -fno-strict-aliasing -pipe -Wall -Wextra" 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 userpriv" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,-O1 -Wl,--as-needed" 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/flameeyes-overlay /var/lib/layman/sunrise" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aac acl alac alsa altivec bash-completion bazaar berkdb bittorrent bzip2 caps cli cracklib crypt cups cvs cxx device-mapper dri fbcon ffmpeg finger flac fortran ftp gdbm gif git gpm iconv ipv6 javascript jpeg lua mercurial modules mp3 mudflap ncurses nls nptl nptlonly opengl openmp pam pcre png ppc pppd readline sdl session shorten sndfile ssl subversion sysfs tcpd tiff tordns truetype unicode vim-syntax vorbis wavpack xattr xcb xinerama xorg xv xvfb zlib zsh-completion" ALSA_CARDS="aoa aoa-fabric-layout aoa-onyx aoa-soundbus aoa-soundbus-i2s aoa-tas aoa-toonie powermac usb-audio via82xx" 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" GRUB_PLATFORMS="emu ieee1275" INPUT_DEVICES="mouse keyboard evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau fbdev" 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, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 294237 [details] glibc-2.14.1-build.log
i need the config.log from the build dir as an attachment
glibc-2.14.1 is building on my ppc32 system with binutils-2.21.1/gcc-4.5.3, so i'll def need to see your config.log to find out what's going on
Created attachment 294919 [details] glibc-2.14.1-config.log I determined the issue to be the '-Wall -Wextra' I added to my CFLAGS. So probably INVALID unless configure shouldn't fail with them enabled.
yes, using -Werror in global CFLAGS is a bad idea
Just a note, it wasn't "-Werror", it was "-Wextra"
that's also a bad flag to use globally, but that would break a lot less than -Werror ... there are some configure tests (like the glibc ones) where it has to scrape the *warnings* to see if something is supported because older versions of gcc do not error out when compiled with newer features. it only warns. thus you, by adding extra warnings, cause gcc to emit unrelated warnings and triggered the test to fail. it's a crappy situation to be sure :(.
*** Bug 399549 has been marked as a duplicate of this bug. ***