Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292174 - sys-libs/glibc-2.11 fails with <sys-devel/gcc-4.3 because "gcc must provide the <cpuid.h> header"
Summary: sys-libs/glibc-2.11 fails with <sys-devel/gcc-4.3 because "gcc must provide t...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
: 292469 325347 336336 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-11-06 19:44 UTC by Andreas Proteus
Modified: 2010-10-10 19:48 UTC (History)
6 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Proteus 2009-11-06 19:44:23 UTC
glibc-2.11 fails during configuration with the message:

checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking cpuid.h usability... no
checking cpuid.h presence... no
checking for cpuid.h... no
configure: error: gcc must provide the <cpuid.h> header
 * ERROR: sys-libs/glibc-2.11 failed:
 *   failed to configure glibc

I cannot see how I can persuade my gcc  - (GCC) 4.1.2 (Gentoo 4.1.2 p1.0.2) - 
to provide the cpuid.h header.

Reproducible: Always

Steps to Reproduce:
1emerge -va =sys-libs/glibc-2.11
2.
3.




Portage 2.2_rc48 (default/linux/x87/10.0, gcc-4.1.2, glibc-2.10.1-r0, 2.6.31-gentoo-r4-ole i686)
=================================================================
System uname: Linux-2.6.31-gentoo-r4-ole-i686-Intel-R-_Core-TM-2_Duo_CPU_E6550_@_2.33GHz-with-gentoo-2.0.1
Timestamp of tree: Fri, 06 Nov 2009 16:45:01 +0000
distcc 3.1 i686-pc-linux-gnu [enabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 1.3.7-r1, 2.1.9-r1
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
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.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
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 /etc/udev/rules.d"
CXXFLAGS="-march=prescott -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache collision-protect distcc distlocks fixpackages metadata-tranfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.ntua.gr/pub/linux/gentoo ftp://files.gentoo.gr/ ftp://ftp.ntua.gr/pub/linux/gentoo/ ftp://gentoo.arcticnetwork.ca/pub/gentoo/"
LANG="el_GR.ISO-8859-7"
LDFLAGS="-Wl,-O1"
LINGUAS="en el"
MAKEOPTS="-j11"
PKGDIR="/usr/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="/usr/portage/local/layman/sajinet /usr/portage/local/layman/berkano /usr/portage/local/layman/perl-experimental /usr/portage/local/layman/sunrise /usr/portage/local/layman/desktop-effects /usr/portage/local/layman/vmware /usr/portage/local/layman/jokey /usr/portage/local/layman/science /usr/portage/local/layman/kde3 /usr/portage/local"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aac acl alsa arts bash-completion berkdb bzip2 cli cracklib cups curl dbus dri dvd fam ffmpeg flac fontconfig fortran gdbm gif gpm gtk hal iconv imagemagick java jpeg kde mad mmx modules mono mp3 mplayer mudflap mysql ncurses nls npp nptl nptlonly nsplugin ogg opengl opengli openmp oss pam pcre pdf perl png pppd python qt3 rdesktop readline reflection samba session slang spell spl sse ssl ssse3 svg sysfs tcpd tetex tiff tk truetype unicode vorbis win32codecs x86 xorg xpm xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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" LINGUAS="en el" USERLAND="GNU" VIDEO_CARDS="nvidia" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Harald van Dijk (RETIRED) gentoo-dev 2009-11-06 19:59:25 UTC
<cpuid.h> is only provided by gcc 4.3 or higher, so it looks like glibc can no longer be built with older versions.
Comment 2 Andreas Proteus 2009-11-06 20:08:25 UTC
(In reply to comment #1)

Thank you.

I have masked the blighter already.
Comment 3 SpanKY gentoo-dev 2009-11-06 21:17:59 UTC
glibc-2.11 now requires gcc-4.3+ on x86
Comment 4 Sebastian Luther (few) 2009-11-09 07:52:26 UTC
*** Bug 292469 has been marked as a duplicate of this bug. ***
Comment 5 Sebastian Luther (few) 2009-11-09 07:53:08 UTC
amd64 needs it too. See duplicate above.
Comment 6 SpanKY gentoo-dev 2009-11-09 12:59:07 UTC
amd64 doesnt need it.  only the x86 binaries do (multilib).

http://sources.gentoo.org/sys-libs/glibc/glibc-2.11.ebuild?r1=1.3&r2=1.4
Comment 7 ctxnop 2009-11-10 10:53:45 UTC
I got this error but I have gcc-4.4.2, so I should have this cpuid.h no ?

Desktop ~ # emerge -pv gcc                      

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/gcc-4.4.2  USE="fortran mudflap (multilib) nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -graphite -gtk (-hardened) -ip28 -ip32r10k (-libffi) -multislot (-n32) (-n64) -nocxx -objc -objc++ -objc-gc -test -vanilla" 0 kB
Comment 8 ctxnop 2009-11-10 15:32:46 UTC
workaround : get the cpuid.h file from official GCC respositories
(http://gcc.gnu.org/viewcvs/tags/gcc_4_4_2_release/gcc/config/i386/cpuid.h?view=co) and put it into /usr/include.
glibc should compile without problem now.
Comment 9 Andreas Proteus 2009-11-10 18:51:06 UTC
(In reply to comment #8)
Excellent tip. 

Worked with gcc-4.1.2

Thank you.


Comment 10 Ryan Hill (RETIRED) gentoo-dev 2009-11-11 00:23:55 UTC
*forehead slap*
Comment 11 Kamil Gornik 2009-11-16 19:31:14 UTC
on amd64 
gcc-config [gcc-4.3-profile-id]
solves problem (as soon as you have gcc-4.3 installed)
Comment 12 Alex Lyon 2010-02-25 00:21:37 UTC
Thank you so much, this worked for me.
Comment 13 SpanKY gentoo-dev 2010-06-25 19:50:15 UTC
*** Bug 325347 has been marked as a duplicate of this bug. ***
Comment 14 SpanKY gentoo-dev 2010-09-07 16:18:19 UTC
*** Bug 336336 has been marked as a duplicate of this bug. ***
Comment 15 peter Koegel 2010-10-06 23:22:15 UTC
(In reply to comment #8)
> workaround : get the cpuid.h file from official GCC respositories
> (http://gcc.gnu.org/viewcvs/tags/gcc_4_4_2_release/gcc/config/i386/cpuid.h?view=co)
> and put it into /usr/include.
> glibc should compile without problem now.
> 

worked fo me too - I wish developer would think about...
Comment 16 peter Koegel 2010-10-06 23:23:22 UTC
Great Tip, I wish developer would think about....and add to the package
Comment 17 SpanKY gentoo-dev 2010-10-07 02:25:03 UTC
no.  fix your system instead of screwing it up.
Comment 18 Adam Walker 2010-10-10 01:45:30 UTC
Shouldn't you instead fix the broken dependencies instead of blaming and insulting the users? Also, this bug is not fixed and should not be marked as such.
Comment 19 SpanKY gentoo-dev 2010-10-10 04:05:06 UTC
again, wrong.  try reading the ebuild.
Comment 20 Xake 2010-10-10 19:43:16 UTC
(In reply to comment #19)
> again, wrong.  try reading the ebuild.
> 

And read the manual?

http://www.gentoo.org/doc/en/gcc-upgrading.xml

Until there is a valid argument on why upgrade glibc but not gcc, I think this bug is invalid.

(In reply to comment #18)
> Shouldn't you instead fix the broken dependencies instead of blaming and
> insulting the users? Also, this bug is not fixed and should not be marked as
> such.
> 

What broken dependency? Glibc-2.11.2 does on amd64 and x86 (affected platforms) depend on >=gcc-4.3 so you must have it installed to be able to even try to merge it. And when merging a new version of GCC portage tells you to read the linked guide to actually finish the upgrade (i.e. activate new GCC version).
So why accuse a dev of insulting users when the dev tell users that they are breaking their systems when the users try to work around that they do not read instructions? Is there a reason for upgrading a system critical package (glibc) without wanting to upgrade another system critical package (GCC) and instead possible breaking systems by importing header files from newer versions of GCC?
Comment 21 Adam Walker 2010-10-10 19:48:39 UTC
In my typical state of laziness, I only quickly skimmed through the comments, missing comment #3. I apologised to spanky privately. To everyone else, kindly ignore my comments on this bug.