[oe] Cross compiler including files from /usr/include

Jason McLaurin jason.mclaurin at gmail.com
Thu Oct 25 19:49:41 UTC 2012


Hi everyone,

I'm having a build failure where it looks like g++ is including a file
from the regular Linux environment, instead of the cross-compile
environment.  Look at how pthread.h is coming from /usr/include
instead of somewhere inside OpenEmbedded.

I looked under the sysroot specified in the g++ command
(/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi),
and there is a usr/include/pthread.h in that path.  Reading the gcc
docs makes it seem like the --sysroot= option would make
-I/usr/include redirect to <sysroot>/usr/include, but that doesn't
seem to be happening here.

Thanks in advance,

-Jason

-------------------------------------

| arm-angstrom-linux-gnueabi-g++ -march=armv5te -mtune=arm926ej-s
-mthumb-interwork -mno-thumb
--sysroot=/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi
-c -pipe -fexpensive-optimizations -fomit-frame-pointer
-frename-registers -O2 -ggdb2 -fexpensive-optimizations
-fomit-frame-pointer -frename-registers -O2 -ggdb2 -fpermissive
-fvisibility-inlines-hidden -g -Wall -W -D_REENTRANT -DQT_XML_LIB
-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
-I../../../../sysroots/armv5te-angstrom-linux-gnueabi/usr/share/qtopia/mkspecs/linux-g++
-I. -I/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/include/qtopia/QtCore
-I/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/include/qtopia/QtNetwork
-I/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/include/qtopia/QtGui
-I/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/include/qtopia/QtXml
-I/home/linux3ps/src/oe_sd50/tmp/sysroots/armv5te-angstrom-linux-gnueabi/usr/include/qtopia
-I/usr/include -I. -o autoheightlabel.o
src/common/gui/autoheightlabel.cpp
| In file included from
/home/linux3ps/src/oe_sd50/tmp/sysroots/i686-linux/usr/armv5te/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/arm-angstrom-linux-gnueabi/bits/gthr-default.h:41:0,
|                  from
/home/linux3ps/src/oe_sd50/tmp/sysroots/i686-linux/usr/armv5te/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/arm-angstrom-linux-gnueabi/bits/gthr.h:162,
|                  from
/home/linux3ps/src/oe_sd50/tmp/sysroots/i686-linux/usr/armv5te/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/ext/atomicity.h:34,
|                  from
/home/linux3ps/src/oe_sd50/tmp/sysroots/i686-linux/usr/armv5te/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/bits/basic_string.h:41,
|                  from
/home/linux3ps/src/oe_sd50/tmp/sysroots/i686-linux/usr/armv5te/lib/gcc/arm-angstrom-linux-gnueabi/4.5.3/../../../../arm-angstrom-linux-gnueabi/include/c++/4.5.3/string:53,
|                  from src/common/gui/../app/appconstants.h:5,
|                  from src/common/gui/../app/appcommon.h:9,
|                  from src/common/gui/autoheightlabel.h:4,
|                  from src/common/gui/autoheightlabel.cpp:1:
| /usr/include/pthread.h:228:31: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:743:6: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:747:6: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:753:20: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:758:6: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:882:6: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:886:3: error: expected initializer before '__THROWNL'
| /usr/include/pthread.h:892:23: error: expected initializer before '__THROWNL'




More information about the Openembedded-devel mailing list