Re: [OE-core] [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
On 29.10.2012 19:08, McClintock Matthew-B29882 wrote: > On Mon, Oct 29, 2012 at 9:36 AM, Matthew McClintock > wrote: >> On Mon, Oct 29, 2012 at 4:26 AM, Steffen Sledz wrote: >>> On 29.07.2012 11:29, Richard Purdie wrote: On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote: > If we are building from sstate-cache it's possible to be building > from another folder on another machine, therefore the linker requires > that a proper --sysroot is passed too it so it can find things like > libgcc.a and avoid errors such as: > > | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 > -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 > -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include > -fno-builtin -ffreestanding -nostdinc -isystem > /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include > -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux > -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes > -fno-stack-protector -fno-toplevel-reorder -o hello_world.o > hello_world.c -c > | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 > -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 > -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include > -fno-builtin -ffreestanding -nostdinc -isystem > /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include > -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux > -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes > -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c > | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o > | arm-poky-linux-gnueabi-ld -g -Ttext 0x8030 \ > |-o hello_world -e hello_world hello_world.o > libstubs.o \ > |-L. -lgcc > | arm-poky-linux-gnueabi-ld: cannot find -lgcc > | make[1]: *** [hello_world] Error 1 > > Signed-off-by: Matthew McClintock > --- > meta/recipes-bsp/u-boot/u-boot.inc |2 +- > meta/recipes-bsp/u-boot/u-boot_2011.03.bb|2 +- > meta/recipes-bsp/u-boot/u-boot_2011.06.bb|2 +- > meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb |1 + > 4 files changed, 4 insertions(+), 3 deletions(-) Merged to master, thanks. >>> >>> While trying to migrate the u-boot support for our machine from oe-classic >>> i hit a problem with this patch. :( >>> >>> The >>> >>> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc >>> ${TOOLCHAIN_OPTIONS}"' >>> >>> in u-boot.inc leads to compiling problems with some build support tools. >>> The tools (e.g. bmp_logo) are now compiled with the target compiler >>> (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This >>> results in build errors like >>> >>> | ./bmp_logo logos/denx.bmp >>> >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h >>> | /bin/sh: ./bmp_logo: cannot execute binary file >>> >>> Reverting to >>> >>> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}' >>> >>> seems to fix this problem. >> >> That however will break building from sstate... we might need to patch >> u-boot's Makefiles here... > > Looking closer you are using a really old u-boot. Can you update? The > Makefile for bmp_logo uses HOSTCC so this should not be an issue with > a recent u-boot. You're right. We use a rather old version. Unfortunatly we are bound to it for the moment. :( Until we can switch to a newer version i'll use a machine specific override for EXTRA_OEMAKE. I think this will be reasonable solution for this case. Regards, Steffen -- DResearch Fahrzeugelektronik GmbH Otto-Schmirgal-Str. 3, 10319 Berlin, Germany Tel: +49 30 515932-237 mailto:sl...@dresearch-fe.de Fax: +49 30 515932-299 Geschäftsführer: Dr. Michael Weber, Werner Mögle; Amtsgericht Berlin Charlottenburg; HRB 130120 B; Ust.-IDNr. DE273952058 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
On Mon, Oct 29, 2012 at 9:36 AM, Matthew McClintock wrote: > On Mon, Oct 29, 2012 at 4:26 AM, Steffen Sledz wrote: >> On 29.07.2012 11:29, Richard Purdie wrote: >>> On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote: If we are building from sstate-cache it's possible to be building from another folder on another machine, therefore the linker requires that a proper --sysroot is passed too it so it can find things like libgcc.a and avoid errors such as: | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c -c | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include -fno-builtin -ffreestanding -nostdinc -isystem /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o | arm-poky-linux-gnueabi-ld -g -Ttext 0x8030 \ |-o hello_world -e hello_world hello_world.o libstubs.o \ |-L. -lgcc | arm-poky-linux-gnueabi-ld: cannot find -lgcc | make[1]: *** [hello_world] Error 1 Signed-off-by: Matthew McClintock --- meta/recipes-bsp/u-boot/u-boot.inc |2 +- meta/recipes-bsp/u-boot/u-boot_2011.03.bb|2 +- meta/recipes-bsp/u-boot/u-boot_2011.06.bb|2 +- meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb |1 + 4 files changed, 4 insertions(+), 3 deletions(-) >>> >>> >>> Merged to master, thanks. >> >> While trying to migrate the u-boot support for our machine from oe-classic i >> hit a problem with this patch. :( >> >> The >> >> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc >> ${TOOLCHAIN_OPTIONS}"' >> >> in u-boot.inc leads to compiling problems with some build support tools. The >> tools (e.g. bmp_logo) are now compiled with the target compiler >> (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This >> results in build errors like >> >> | ./bmp_logo logos/denx.bmp >> >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h >> | /bin/sh: ./bmp_logo: cannot execute binary file >> >> Reverting to >> >> EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}' >> >> seems to fix this problem. > > That however will break building from sstate... we might need to patch > u-boot's Makefiles here... Looking closer you are using a really old u-boot. Can you update? The Makefile for bmp_logo uses HOSTCC so this should not be an issue with a recent u-boot. -M ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
On Mon, Oct 29, 2012 at 4:26 AM, Steffen Sledz wrote: > On 29.07.2012 11:29, Richard Purdie wrote: >> On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote: >>> If we are building from sstate-cache it's possible to be building >>> from another folder on another machine, therefore the linker requires >>> that a proper --sysroot is passed too it so it can find things like >>> libgcc.a and avoid errors such as: >>> >>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float >>> -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 >>> -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include >>> -fno-builtin -ffreestanding -nostdinc -isystem >>> /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include >>> -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux >>> -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes >>> -fno-stack-protector -fno-toplevel-reorder -o hello_world.o hello_world.c >>> -c >>> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float >>> -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 >>> -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include >>> -fno-builtin -ffreestanding -nostdinc -isystem >>> /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include >>> -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux >>> -mno-thumb-interwork -march=armv5 -Wall -Wstrict-prototypes >>> -fno-stack-protector -fno-toplevel-reorder -o stubs.o stubs.c -c >>> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o >>> | arm-poky-linux-gnueabi-ld -g -Ttext 0x8030 \ >>> |-o hello_world -e hello_world hello_world.o libstubs.o >>> \ >>> |-L. -lgcc >>> | arm-poky-linux-gnueabi-ld: cannot find -lgcc >>> | make[1]: *** [hello_world] Error 1 >>> >>> Signed-off-by: Matthew McClintock >>> --- >>> meta/recipes-bsp/u-boot/u-boot.inc |2 +- >>> meta/recipes-bsp/u-boot/u-boot_2011.03.bb|2 +- >>> meta/recipes-bsp/u-boot/u-boot_2011.06.bb|2 +- >>> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb |1 + >>> 4 files changed, 4 insertions(+), 3 deletions(-) >> >> >> Merged to master, thanks. > > While trying to migrate the u-boot support for our machine from oe-classic i > hit a problem with this patch. :( > > The > > EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc > ${TOOLCHAIN_OPTIONS}"' > > in u-boot.inc leads to compiling problems with some build support tools. The > tools (e.g. bmp_logo) are now compiled with the target compiler > (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This > results in build errors like > > | ./bmp_logo logos/denx.bmp > >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h > | /bin/sh: ./bmp_logo: cannot execute binary file > > Reverting to > > EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}' > > seems to fix this problem. That however will break building from sstate... we might need to patch u-boot's Makefiles here... -M ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)
On 29.07.2012 11:29, Richard Purdie wrote: > On Thu, 2012-07-26 at 11:21 -0500, Matthew McClintock wrote: >> If we are building from sstate-cache it's possible to be building >> from another folder on another machine, therefore the linker requires >> that a proper --sysroot is passed too it so it can find things like >> libgcc.a and avoid errors such as: >> >> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float >> -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 >> -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include >> -fno-builtin -ffreestanding -nostdinc -isystem >> /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include >> -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork >> -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector >> -fno-toplevel-reorder -o hello_world.o hello_world.c -c >> | arm-poky-linux-gnueabi-gcc -g -O2 -fno-common -ffixed-r8 -msoft-float >> -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x80008000 >> -I/local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/work/beagleboard-poky-linux-gnueabi/u-boot-v2011.06+git5+b1af6f532e0d348b153d5c148369229d24af361a-r0/git/include >> -fno-builtin -ffreestanding -nostdinc -isystem >> /local/yocto/upstream/label/ubuntu1204-64b/machine/beagleboard/poky/edison/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.6.3/include >> -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork >> -march=armv5 -Wall -Wstrict-prototypes -fno-stack-protector >> -fno-toplevel-reorder -o stubs.o stubs.c -c >> | arm-poky-linux-gnueabi-ld -r -o libstubs.o stubs.o >> | arm-poky-linux-gnueabi-ld -g -Ttext 0x8030 \ >> |-o hello_world -e hello_world hello_world.o libstubs.o \ >> |-L. -lgcc >> | arm-poky-linux-gnueabi-ld: cannot find -lgcc >> | make[1]: *** [hello_world] Error 1 >> >> Signed-off-by: Matthew McClintock >> --- >> meta/recipes-bsp/u-boot/u-boot.inc |2 +- >> meta/recipes-bsp/u-boot/u-boot_2011.03.bb|2 +- >> meta/recipes-bsp/u-boot/u-boot_2011.06.bb|2 +- >> meta/recipes-bsp/u-boot/u-boot_2012.04.01.bb |1 + >> 4 files changed, 4 insertions(+), 3 deletions(-) > > > Merged to master, thanks. While trying to migrate the u-boot support for our machine from oe-classic i hit a problem with this patch. :( The EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"' in u-boot.inc leads to compiling problems with some build support tools. The tools (e.g. bmp_logo) are now compiled with the target compiler (arm-oe-linux-gnueabi-gcc in our case) instead of the host compiler. This results in build errors like | ./bmp_logo logos/denx.bmp >/pm/sledz/oe-core/build/tmp-eglibc/work/hipox-oe-linux-gnueabi/u-boot-v2009.03+git91+e60beb13cf0135dc71c541021487b5ccc4d269cb-r8/git/include/bmp_logo.h | /bin/sh: ./bmp_logo: cannot execute binary file Reverting to EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX}' seems to fix this problem. Steffen -- DResearch Fahrzeugelektronik GmbH Otto-Schmirgal-Str. 3, 10319 Berlin, Germany Tel: +49 30 515932-237 mailto:sl...@dresearch-fe.de Fax: +49 30 515932-299 Geschäftsführer: Dr. Michael Weber, Werner Mögle; Amtsgericht Berlin Charlottenburg; HRB 130120 B; Ust.-IDNr. DE273952058 ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core