Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 344797 - cross-i686-pc-linux-gnu/glibc-2.11.2 (headers-only) fails for x86 targets on non-x86-host - configure: error: gcc must provide the <cpuid.h> header
Summary: cross-i686-pc-linux-gnu/glibc-2.11.2 (headers-only) fails for x86 targets on ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-09 12:32 UTC by Alex Buell
Modified: 2010-11-25 14:35 UTC (History)
0 users

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


Attachments
emerge --info =cross-i686-pc-linux-gnu/glibc-2.11.2-r3 (output1,3.89 KB, text/plain)
2010-11-09 12:36 UTC, Alex Buell
Details
emerge -pqv =cross-i686-pc-linux-gnu/glibc-2.11.2-r3 (output2,420 bytes, text/plain)
2010-11-09 12:36 UTC, Alex Buell
Details
/var/tmp/cross/i686-pc-linux-gnu/portage/cross-i686-pc-linux-gnu/glibc-2.11.2-r3/temp/build .log (build.log,14.04 KB, text/plain)
2010-11-09 12:37 UTC, Alex Buell
Details
/var/tmp/cross/i686-pc-linux-gnu/portage/cross-i686-pc-linux-gnu/glibc-2.11.2-r3/temp/ environment (environment,147.37 KB, text/plain)
2010-11-09 12:37 UTC, Alex Buell
Details
config.log (config.log,53.51 KB, text/plain)
2010-11-25 12:18 UTC, Alex Buell
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Buell 2010-11-09 12:32:29 UTC
The glibc component of the i686 cross-compiler on SPARC fails with a configure: error: gcc must provide the <cpuid.h> header




Reproducible: Always
Comment 1 Alex Buell 2010-11-09 12:36:33 UTC
Created attachment 253735 [details]
emerge --info =cross-i686-pc-linux-gnu/glibc-2.11.2-r3
Comment 2 Alex Buell 2010-11-09 12:36:51 UTC
Created attachment 253737 [details]
emerge -pqv =cross-i686-pc-linux-gnu/glibc-2.11.2-r3
Comment 3 Alex Buell 2010-11-09 12:37:26 UTC
Created attachment 253739 [details]
/var/tmp/cross/i686-pc-linux-gnu/portage/cross-i686-pc-linux-gnu/glibc-2.11.2-r3/temp/build .log
Comment 4 Alex Buell 2010-11-09 12:37:44 UTC
Created attachment 253741 [details]
/var/tmp/cross/i686-pc-linux-gnu/portage/cross-i686-pc-linux-gnu/glibc-2.11.2-r3/temp/ environment
Comment 5 Alex Buell 2010-11-09 12:39:05 UTC
There is a workaround for this; simply put cpuid.h in /usr/include and glibc manages to build, but I do not trust this as I've had failures building software using distcc. 

This needs fixing. 
Comment 6 Alex Buell 2010-11-09 12:42:54 UTC
Additionally, the same problem occurs with i586. 
Comment 8 Alex Buell 2010-11-17 20:12:22 UTC
Unfortunately, I'm still getting the same error, even though I've updated portage. Did the fix make its way into Portage? 
Comment 9 Alex Buell 2010-11-17 20:22:11 UTC
I take that one back, that fix is definitely there but i686 glibc still fails to build on SPARC. 
Comment 10 SpanKY gentoo-dev 2010-11-24 07:04:56 UTC
glibc headers install fine for me on sparc with an i686 target
Comment 11 Alex Buell 2010-11-25 00:58:49 UTC
I'm now stumped. There must be a difference between the SPARC you tested on and mine, as mine still fails to build an i686 cross-compiler. Is yours a multilib one? 
Comment 12 SpanKY gentoo-dev 2010-11-25 03:23:22 UTC
you havent actually stated your problem.  are you still seeing the cpuid.h failure ?  or is it something new ?
Comment 13 Alex Buell 2010-11-25 09:20:38 UTC
Sorry, my fault, yes I am still seeing the cpuid.h failure - it stops when it cannot find it. 
Comment 14 SpanKY gentoo-dev 2010-11-25 11:15:38 UTC
and you're talking about the headers-only case of glibc right ?  my build shows what it should:
...
checking for cpuid.h... (cached) yes
...

you can look into the config.log to make sure the env var is being propagated.
Comment 15 Alex Buell 2010-11-25 12:17:41 UTC
This is what I am still getting: 

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: cross-i686-pc-linux-gnu/glibc-2.11.2-r3 failed:
 *   failed to configure glibc
 * 
 * Call stack:
 *                  ebuild.sh, line   54:  Called src_compile
 *                environment, line 3826:  Called eblit-run 'src_compile'
 *                environment, line 1233:  Called eblit-glibc-src_compile
 *   src_compile-2.11.2.eblit, line  181:  Called toolchain-glibc_headers_compile
 *   src_compile-2.11.2.eblit, line  170:  Called die
 * The specific snippet of code:
 *      CC=gcc \
 *      CFLAGS="-O1 -pipe" \
 *      "${S}"/configure ${myconf} || die "failed to configure glibc"
 * 

I've attached the config.log


Comment 16 Alex Buell 2010-11-25 12:18:15 UTC
Created attachment 255399 [details]
config.log
Comment 17 SpanKY gentoo-dev 2010-11-25 12:52:13 UTC
it's because you're using stable versions

http://sources.gentoo.org/sys-libs/glibc/files/eblits/src_compile-2.11.2.eblit?r1=1.1&r2=1.2
Comment 18 Alex Buell 2010-11-25 14:35:17 UTC
Yep, thank you, that has fixed that problem. Now emerging i686 toolchain!