Skip to contentSkip to conversation

Richard Purdie : gcc-cross-initial: Reinstate limits.h generation fix

oe-commits Martin Jansa 3 participants 3 messages Sep 6, 2012 – Sep 7, 2012 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20120906231235.2BFB3103D3@opal

#1 lore raw
Quoted 18 lines · On Thu, Sep 06, 2012 at 11:12:35PM +0000, [email protected] 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 <[email protected]>
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

Quoted 6 lines

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.

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
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 29 lines · Martin Jansa
Quoted 18 lines · On Thu, Sep 06, 2012 at 11:12:35PM +0000, [email protected] 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 <[email protected]>
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

Quoted 6 lines

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.

Not sure if PR bump would help for gcc-cross-initial, but now incremental build fails with:

Quoted 10 lines
| 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.

Cheers,

Richard

#3 lore raw
Quoted 41 lines · Richard Purdie
Quoted 29 lines · Martin Jansa
Quoted 18 lines · On Thu, Sep 06, 2012 at 11:12:35PM +0000, [email protected] 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 <[email protected]>
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

Quoted 6 lines

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.

Not sure if PR bump would help for gcc-cross-initial, but now incremental build fails with:

Quoted 10 lines
| 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
Quoted 4 lines

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.

Quoted 9 lines

Cheers,

Richard

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel