Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 327331 - sys-devel/gcc-4.4.3-r2 - configure: error: the compiler must support C cleanup handling
Summary: sys-devel/gcc-4.4.3-r2 - configure: error: the compiler must support C cleanu...
Status: RESOLVED DUPLICATE of bug 265237
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-07 15:38 UTC by Phil Stracchino (Unix Ronin)
Modified: 2010-07-28 23:31 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log,15.23 KB, text/plain)
2010-07-07 15:39 UTC, Phil Stracchino (Unix Ronin)
Details
Ebuild environment (environment,149.71 KB, text/plain)
2010-07-07 15:40 UTC, Phil Stracchino (Unix Ronin)
Details
glibc config.log as requested (config.log,46.91 KB, text/plain)
2010-07-09 23:14 UTC, Phil Stracchino (Unix Ronin)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Stracchino (Unix Ronin) 2010-07-07 15:38:29 UTC
On a new install using stage3-i686-20100622.tar.bz2 on an AthlonXP platform, sys-devel/gcc-4.4.3-r2 from the tarball is apparently unable to compile glibc-2.11.2.  Configuration of glibc fails in nptl/sysdeps/pthread with a warning that the compiler does not support C cleanup handling.

running configure fragment for nptl/sysdeps/pthread
checking for forced unwind support... yes
checking for C cleanup handling... no
configure: error: the compiler must support C cleanup handling


To be fair, I do not entirely rule out a hardware-related issue on this machine.  It *is* an eMachines laptop, I already know the CPU temp sensor is dodgy, and I'm also unable to successfully recompile the installed gcc on it (which usually fails with an internal compiler error during stage3, a problem I'm still trying to diagnose).

I intend to try reinstalling the machine from an older stage3 tarball just in case something in stage3-i686-20100622.tar.bz2 is bad.

Reproducible: Always

Steps to Reproduce:
1.  Create a clean installation on athlon-xp from stage3-i686-20100622.tar.bz2
2.  CFLAGS="-O2 -march=athlon-xp -mtune=athlon-xp -mfpmath=sse -pipe"
3.  emerge -vu glibc

Actual Results:  
Configuration fails as described above.

Expected Results:  
Well, I'd normally sort of expect glibc to build.  This is the first time I've ever seen a failure to configure a stable-release glibc.

petey:root:~:34 # emerge --info =sys-libs/glibc-2.11.2
Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.10.1-r1, 2.6.34-gentoo-r1-whitestar i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.34-gentoo-r1-whitestar-i686-Mobile_AMD_Athlon-tm-_XP_2500+-with-gentoo-1.12.13
Timestamp of tree: Tue, 06 Jul 2010 12:45:02 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [disabled]
app-shells/bash:     4.1_p7
dev-lang/python:     2.6.4-r1, 3.1.2-r3
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.65
sys-devel/automake:  1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
virtual/os-headers:  2.6.34
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -mtune=athlon-xp -mfpmath=sse -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CPPFLAGS="-fexceptions -O2 -march=athlon-xp -mtune=athlon-xp -mfpmath=sse -pipe"
CXXFLAGS="-O2 -march=athlon-xp -mtune=athlon-xp -mfpmath=sse -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo                 http://gentoo.osuosl.org                 http://www.gtlib.gatech.edu/pub/gentoo                 ftp://mirror.iawnet.sandia.gov/pub/gentoo                 ftp://ftp.ussg.iu.edu/pub/linux/gentoo                 http://cudlug.cudenver.edu/gentoo                 http://mirrors.cs.wmich.edu/gentoo                 http://mirror.usu.edu/mirrors/gentoo                 http://mirror.mcs.anl.gov/pub/gentoo                 http://gentoo.cites.uiuc.edu/pub/gentoo                 http://mirror.its.uidaho.edu/pub/gentoo "
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j1"
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/robbat2 /var/lib/layman/perl-experimental"
SYNC="rsync://rsync21.us.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X acl bash-completion berkdb bzip2 cdda cddb cli cracklib crypt cups cxx dri ffmpeg fltk fortran gdbm gpm iconv id3tag imagemagick ipv6 java jpeg2k kde mmx mmxext modules mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session speex spl sse ssl sysfs tcpd theora threads tools unicode utils x86 xorg xpm xscreensaver zlib" ALSA_CARDS="ali5451" 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" ELIBC="glibc" INPUT_DEVICES="synaptics evdev keyboard mouse" KERNEL="linux" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon vesa vga" 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:  CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

petey:root:~:35 # emerge -pqv =sys-libs/glibc-2.11.2
[ebuild     U ] sys-libs/glibc-2.11.2 [2.10.1-r1] USE="gd* nls -debug -glibc-omitfp (-hardened) (-multilib) -profile (-selinux) -vanilla"
Comment 1 Phil Stracchino (Unix Ronin) 2010-07-07 15:39:49 UTC
Created attachment 237903 [details]
Build log
Comment 2 Phil Stracchino (Unix Ronin) 2010-07-07 15:40:27 UTC
Created attachment 237905 [details]
Ebuild environment
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2010-07-07 16:29:51 UTC
Please attach the config.log too.
Comment 4 Phil Stracchino (Unix Ronin) 2010-07-07 20:41:30 UTC
Sorry, I no longer have the config.log  :(

In fact, I'm becoming increasingly doubtful about the hardware on the machine.  I have a suspicion something is in the process of failing terminally.  I'd have to advise considering this unconfirmed unless someone else can reproduce it.
Comment 5 Phil Stracchino (Unix Ronin) 2010-07-09 23:13:55 UTC
OK, disregard the previous note; I've replicated the failure using a stage3-i686-20100615.tar.bz2 tarball, on a clean install that is otherwise working.  I'll attach the config.log in a moment.

Next thing I'm going to do is rebuild gcc (4.4.3-r2) and see whether I can still reproduce it with a locally-built gcc rather than the gcc from the tarball.
Comment 6 Phil Stracchino (Unix Ronin) 2010-07-09 23:14:49 UTC
Created attachment 238179 [details]
glibc config.log as requested
Comment 7 Phil Stracchino (Unix Ronin) 2010-07-10 03:05:40 UTC
I've figured out part of what's causing the problem.  The CPU is a Mobile AthlonXP 2500+:

petey:root:/var/log:13 # cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 10
model name      : Mobile AMD Athlon(tm) XP 2500+
stepping        : 0
cpu MHz         : 530.052
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips        : 1060.10
clflush size    : 32
cache_alignment : 32
address sizes   : 34 bits physical, 32 bits virtual
power management: ts fid vid

And since it's got SSE support, I'm using -mfpmath=sse.  However, something believes, correctly or not, that SSE is disabled:

configure:2451: checking for suffix of object files
configure:2477: i686-pc-linux-gnu-gcc -c -march=i686 -mtune=athlon-xp -pipe -O2 -fno-strict-aliasing -fexceptions -mtune=athlon-xp -mfpmath=sse -pipe -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE conftest.c >&5
conftest.c:1: warning: SSE instruction set disabled, using 387 arithmetics
configure:2481: $? = 0
configure:2506: result: o

And it's using a warning, but continuing, right up until it gets to the C cleanup test, which is this little snippet of code:

#include <stdio.h>
void cl (void *a) { }
int main ()
{
  int a __attribute__ ((cleanup (cl)));
  puts ("test");
  return 0;
}

Which compiles fine, but issues a warning (again) that SSE is disabled ... except that THIS test is compiled with -Werror, because it's looking for a warning that there is no C cleanup handling.  It doesn't get the warning it's looking for ...  but it DOES get a warning, and so it fails.


The obvious fix here of course is to take out -mfpmath=sse from CFLAGS (though I'd like to know why gcc thinks SSE is disabled on this CPU, and would like to know a way to confirm whether it really is or not).  But the weakness this exposes is that this particular configure test is going to fail if *anything* produces a warning on this conftest; it can't tell the right warning from the wrong one.
Comment 8 Phil Stracchino (Unix Ronin) 2010-07-10 03:10:42 UTC
Oh, one final comment - seems something *really has* for some reason disabled SSE, but gcc is allowing me to turn it back on with -msse.  "Curiouser and curiouser," said Alice...
Comment 9 SpanKY gentoo-dev 2010-07-28 23:31:51 UTC
ignoring all the crap in your *FLAGS, this is most likely a dupe

*** This bug has been marked as a duplicate of bug 265237 ***