[oe] gcc-4.5 r166342 PCHFLAGS problem

Matt Johnson johnso87 at crhc.illinois.edu
Fri Nov 12 22:02:58 UTC 2010


Hi All,
     I built gcc-cross from x86_64 host to armv7a target using gcc 4.5 
r166342.  I then tried to bitbake gcc (an armv7a-host, armv7a-target 
native compiler) with the same revision and got build errors on libstdc++:

make[3]: Entering directory 
`/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3'
Making all in include
make[4]: Entering directory 
`/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include'
mkdir -p ./arm-angstrom-linux-gnueabi/bits/stdc++.h.gch
libtool: compile:  arm-angstrom-linux-gnueabi-gcc -march=armv7-a 
-mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork 
-mno-thumb 
--sysroot=/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/sysroots/armv7a-angstrom-linux-gnueabi 
-c -I. 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc 
-g -Os -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC 
-DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/objc 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/../gcc 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/../gcc/config 
-I../.././gcc 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/../include 
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/archive.c  
-fPIC -DPIC -o .libs/archive.o
arm-angstrom-linux-gnueabi-g++ -march=armv7-a -mtune=cortex-a8 
-mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb  
--sysroot=/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/sysroots/armv7a-angstrom-linux-gnueabi   
-x c++-header -g -Os 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/arm-angstrom-linux-gnueabi 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libstdc++-v3/libsupc++ 
-O2 -g -std=gnu++0x 
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libstdc++-v3/include/precompiled/stdc++.h 
\
         -o arm-angstrom-linux-gnueabi/bits/stdc++.h.gch/O2ggnu++0x.gch
libtool: compile:  arm-angstrom-linux-gnueabi-gcc -march=armv7-a 
-mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork 
-mno-thumb 
--sysroot=/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/sysroots/armv7a-angstrom-linux-gnueabi 
-c -I. 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc 
-g -Os -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC 
-DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/objc 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/../gcc 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/../gcc/config 
-I../.././gcc 
-I/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/../include 
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libobjc/archive.c 
-o archive.o >/dev/null 2>&1
In file included from 
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/fenv.h:50:0,
                  from 
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/cfenv:44,
                  from 
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/libstdc++-v3/include/precompiled/stdc++.h:54:
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:49:11: 
error: '::fenv_t' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:50:11: 
error: '::fexcept_t' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:53:11: 
error: '::feclearexcept' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:54:11: 
error: '::fegetexceptflag' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:55:11: 
error: '::feraiseexcept' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:56:11: 
error: '::fesetexceptflag' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:57:11: 
error: '::fetestexcept' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:59:11: 
error: '::fegetround' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:60:11: 
error: '::fesetround' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:62:11: 
error: '::fegetenv' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:63:11: 
error: '::feholdexcept' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:64:11: 
error: '::fesetenv' has not been declared
/media/d2/beagleboard/oebb/build/tmp-angstrom_2010_x/work/armv7a-angstrom-linux-gnueabi/gcc-4.5-r19.1+svnr166342/gcc-4.5/build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/tr1_impl/cfenv:65:11: 
error: '::feupdateenv' has not been declared

The issue has been discussed here: 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974

I tried the suggested fix by adding -nostdinc++ to PCHFLAGS in 
libstdc++-v3/include/Makefile.am, but this appears not to propagate to 
build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/Makefile, 
for OE reasons I don't understand.  I tried "bitbake gcc -c compile" 
once, got it to fail, changed 
build.arm-angstrom-linux-gnueabi.arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/libstdc++-v3/include/Makefile 
directly, then reran "bitbake gcc -c compile", and it worked.

Perhaps someone wiser than I can turn this into a patch that works.
Best,
Matt

-- 
Matt Johnson
Graduate Student
University of Illinois at Urbana-Champaign, Dept. of ECE
Coordinated Science Lab, Rm. 213




More information about the Openembedded-devel mailing list