[oe] [OE-core] [oe-commits] Richard Purdie : gcc-cross-initial: Reinstate limits.h generation fix

Khem Raj raj.khem at gmail.com
Fri Sep 7 19:15:40 UTC 2012


On Fri, Sep 7, 2012 at 2:36 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Fri, 2012-09-07 at 01:38 +0200, Martin Jansa wrote:
>> On Thu, Sep 06, 2012 at 11:12:35PM +0000, git at git.openembedded.org wrote:
>> > Module: openembedded-core.git
>> > Branch: master
>> > Commit: 71854f5c8c6850ed37777cad21acc92fdbea32fc
>> > URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=71854f5c8c6850ed37777cad21acc92fdbea32fc
>> >
>> > Author: Richard Purdie <richard.purdie at linuxfoundation.org>
>> > Date:   Thu Sep  6 16:50:10 2012 +0100
>> >
>> > gcc-cross-initial: Reinstate limits.h generation fix
>> >
>> > The removal of gcc-cross-intermediate inadvertently reintroduced a
>> > problem with the limits.h file being incorrectly/inconsistently
>> > generated.
>> >
>> > http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=b0faebd1f07e1616004bd19664395932e7c2c48f
>> > reverted part of:
>> > http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=c8815d2f21849deb9359706f54dc71490773415e
>> >
>> > This reintroduces the protected sysroot ensuring the limits.h file is
>> > always correctly generated. To reproduce the bug, build gcc-cross, then
>> > rebuild gcc-cross-initial and it will reference the limits.h file from
>> > gcc-cross in the sysroot.
>> >
>> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>>
>> Not sure if PR bump would help for gcc-cross-initial, but now incremental
>> build fails with:
>>
>> | Configuring in arm-oe-linux-gnueabi/libgcc
>> | configure: loading cache ./config.cache
>> | configure: error: `CC' has changed since the previous run:
>> | configure:   former value:  ` /OE/build/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.arm-oe-linux-gnueabi/./gcc/xgcc -B/OE/build/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.arm-oe-linux-gnueabi/./gcc/ -march=armv7-a -fno-tree-vectorize     -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -isystem/OE/build/tmp-eglibc/sysroots/tuna/usr/include -B/OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/bin/ -B/OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/lib/ -isystem /OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/include -isystem /OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/sys-include --sysroot=/OE/build/tmp-eglibc/sysroots/tuna  '
>> | configure:   current value: ` /OE/build/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.arm-oe-linux-gnueabi/./gcc/xgcc -B/OE/build/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.arm-oe-linux-gnueabi/./gcc/ -march=armv7-a -fno-tree-vectorize     -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 -isystem/OE/build/tmp-eglibc/sysroots/tuna/usr/include -B/OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/bin/ -B/OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/lib/ -isystem /OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/include -isystem /OE/build/tmp-eglibc/sysroots/x86_64-linux/usr/arm-oe-linux-gnueabi/sys-include --sysroot=/OE/build/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.arm-oe-linux-gnueabi/tmpsysroot  '
>> | configure: error: in `/OE/build/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/gcc-cross-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.arm-oe-linux-gnueabi/arm-oe-linux-gnueabi/libgcc':
>> | configure: error: changes in the environment can compromise the build
>> | configure: error: run `make distclean' and/or `rm ./config.cache' and start over
>> | make: *** [configure-target-libgcc] Error 1
>> | ERROR: oe_runmake failed
>
> It shouldn't do this and there are open bugs about it :/ PR would
> probably work around it but we really need to fix the underlying
> problem.
>

it seems --sysroot option has changed between two runs

old
--sysroot=/work/yocto/poky/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux

new

--sysroot=/work/yocto/poky/build/tmp/work/x86_64-pokysdk-linux/gcc-crosssdk-initial-4.7.1.0+git1+d07e24f4ab59f264d68d21838795349faab5dede-r11/gcc-4_7-branch/build.x86_64-linux.x86_64-pokysdk-linux/tmpsysroot

and it gets added to CC variable by OE

CC usually do not change during reconfigure but in such cases may be
cleaning the previous configure caches completely
would be right thing to do when it finds that its trying to run
do_configure on already configured tree.

> Cheers,
>
> Richard
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




More information about the Openembedded-devel mailing list