Re: [OE-core] [PATCH] u-boot.inc: update linker arguments to pass --sysroot arg (BUILD BREAKAGE)

2012-10-31 Thread Steffen Sledz
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)

2012-10-29 Thread McClintock Matthew-B29882
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)

2012-10-29 Thread McClintock Matthew-B29882
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)

2012-10-29 Thread Steffen Sledz
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