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

Bug 379787

Summary: sparc crossdev refuses to build glibc
Product: Gentoo Linux Reporter: Dan Miller <crazybigdan>
Component: [OLD] GCC PortingAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED DUPLICATE    
Severity: major    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dan Miller 2011-08-18 20:32:31 UTC
I am trying to build a sparc toolkit on an AMD64 machine using crossdev

it fails when trying to emerge glibc:

checking whether x86_64-pc-linux-gnu-gcc  -pipe -fcall-used-g6 -O2 -fno-strict-aliasing -fno-unwind-tables supports -mlong-double-128... no
configure: error: this configuration requires -mlong-double-128 support

Reproducible: Always

Steps to Reproduce:
1. crossdev --l 2.11.2 --k 2.6.36.1 --g 4.4.5 --b 2.20.1-r1 --without-headers -t sparc
Actual Results:  
the log from glibc:
...
checking size of long double... 16
running configure fragment for sysdeps/sparc/sparc32/elf
checking for sparc32 TLS support... no
checking for sparc32 ld WDISP22 handling... unknown
running configure fragment for sysdeps/ieee754/ldbl-opt
checking whether x86_64-pc-linux-gnu-gcc  -pipe -fcall-used-g6 -O2 -fno-strict-aliasing -fno-unwind-tables supports -mlong-double-128... no
configure: error: this configuration requires -mlong-double-128 support
 * ERROR: cross-sparc-unknown-linux-gnu/glibc-2.12.2 failed (compile phase):
 *   failed to configure glibc
 * 
 * Call stack:
 *           ebuild.sh, line   56:  Called src_compile
 *         environment, line 3773:  Called eblit-run 'src_compile'
 *         environment, line 1183:  Called eblit-glibc-src_compile
 *   src_compile.eblit, line  204:  Called src_compile
 *         environment, line 3773:  Called eblit-run 'src_compile'
 *         environment, line 1183:  Called eblit-glibc-src_compile
 *   src_compile.eblit, line  212:  Called toolchain-glibc_src_compile
 *   src_compile.eblit, line  123:  Called glibc_do_configure 'nptl'
 *   src_compile.eblit, line   99:  Called die
 * The specific snippet of code:
 *   	"${S}"/configure ${myconf} || die "failed to configure glibc"
 * 
 * If you need support, post the output of 'emerge --info =cross-sparc-unknown-linux-gnu/glibc-2.12.2',
 * the complete build log and the output of 'emerge -pqv =cross-sparc-unknown-linux-gnu/glibc-2.12.2'.
 * This ebuild is from an overlay named 'x-crossdev': '/usr/local/overlays/crossdev/'
 * The complete build log is located at '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/temp/environment'.
 * S: '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/work/glibc-2.12.2'

>>> Failed to emerge cross-sparc-unknown-linux-gnu/glibc-2.12.2, Log file:

>>>  '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/temp/build.log'

 * Messages for package cross-sparc-unknown-linux-gnu/glibc-2.12.2:
 * ERROR: cross-sparc-unknown-linux-gnu/glibc-2.12.2 failed (compile phase):
 *   failed to configure glibc
 * 
 * Call stack:
 *           ebuild.sh, line   56:  Called src_compile
 *         environment, line 3773:  Called eblit-run 'src_compile'
 *         environment, line 1183:  Called eblit-glibc-src_compile
 *   src_compile.eblit, line  204:  Called src_compile
 *         environment, line 3773:  Called eblit-run 'src_compile'
 *         environment, line 1183:  Called eblit-glibc-src_compile
 *   src_compile.eblit, line  212:  Called toolchain-glibc_src_compile
 *   src_compile.eblit, line  123:  Called glibc_do_configure 'nptl'
 *   src_compile.eblit, line   99:  Called die
 * The specific snippet of code:
 *   	"${S}"/configure ${myconf} || die "failed to configure glibc"
 * 
 * If you need support, post the output of 'emerge --info =cross-sparc-unknown-linux-gnu/glibc-2.12.2',
 * the complete build log and the output of 'emerge -pqv =cross-sparc-unknown-linux-gnu/glibc-2.12.2'.
 * This ebuild is from an overlay named 'x-crossdev': '/usr/local/overlays/crossdev/'
 * The complete build log is located at '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/temp/environment'.
 * S: '/var/tmp/portage/cross-sparc-unknown-linux-gnu/glibc-2.12.2/work/glibc-2.12.2'


 * glibc failed :(
 * If you file a bug, please attach the following logfiles:
 * /var/log/portage/cross-sparc-unknown-linux-gnu-info.log
 * /var/log/portage/cross-sparc-unknown-linux-gnu-glibc.log


Expected Results:  
success, in the form of a cross-compiler
Comment 1 Dan Miller 2011-08-19 03:23:14 UTC
Just tested the same thing on another linux box I have (very similar to this one) and it produced the same results.
Comment 2 Dan Miller 2011-08-20 18:36:12 UTC
Through further research, I found that the -mlong-double-128 flag is not supported on the x86_64 architecture.  However, that flag forces a type of "long double" to take up bits, which is the default anyways for x86_64, so theoretically, if the can get that configure file to ignore the fact that that flag isn't supported, it should compile fine.  I tried modifying the configure.in file in the source to ignore this check, but crossdev insists on downloading the sources fresh whenever it is run.

Are there any ways around this?
Comment 3 Dan Miller 2011-08-20 18:38:36 UTC
s/up bits/up 128 bits/
Comment 4 SpanKY gentoo-dev 2011-08-21 16:31:23 UTC

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