Building U-Boot

53 views
Skip to first unread message

cwrse...@gmail.com

unread,
Jun 4, 2016, 11:31:59 AM6/4/16
to BeagleBoard
I've been trying to build U-Boot (the 2016.03 version) from the instructions in
  https://eewiki.net/display/linuxonarm/BeagleBone+Black
and have ended up with the following shell script:

#!/bin/bash
export CROSS_COMPILE="/home/beagle/linux-dev/dl/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-"
export CC="/home/beagle/linux-dev/dl/gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux/bin/arm-linux-gnueabihf-"
export ARCH=arm
make distclean
make am335x_evm_defconfig
make
# eof

which uses a 32-bit Linaro compiler which I've used for U-Boot before.

The sources patch correctly, but the compile fails (the log is below).  Does anyone
know of a 32-bit compiler which will compile the current U-Boot?

Thanks - C W Rose

Build log for U-Boot:
  CLEAN   tools
  CLEAN   tools/lib tools/common
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config include/generated spl
  CLEAN   .config include/autoconf.mk include/autoconf.mk.dep include/config.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
  GEN     spl/include/autoconf.mk
  CHK     include/config/uboot.release
  UPD     include/config/uboot.release
  CHK     include/generated/version_autogenerated.h
  UPD     include/generated/version_autogenerated.h
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  CC      lib/asm-offsets.s
  CHK     include/generated/generic-asm-offsets.h
  UPD     include/generated/generic-asm-offsets.h
  CC      arch/arm/lib/asm-offsets.s
  CHK     include/generated/asm-offsets.h
  UPD     include/generated/asm-offsets.h
  HOSTCC  tools/gen_eth_addr
  HOSTCC  tools/img2srec
  HOSTCC  tools/mkenvimage.o
  HOSTCC  tools/os_support.o
  WRAP    tools/lib/crc32.c
  HOSTCC  tools/lib/crc32.o
  HOSTLD  tools/mkenvimage
  HOSTCC  tools/aisimage.o
In file included from /usr/include/image.h:22:0,
                 from tools/aisimage.c:10:
/usr/include/rgbpixel.h:61:3: error: expected specifier-qualifier-list before RGBpixel
In file included from tools/aisimage.c:10:0:
/usr/include/image.h:40:1: error: unknown type name class
/usr/include/image.h:41:1: error: expected = , , , ; , asm or __attribute__ before { token
tools/aisimage.c:22:1: error: unknown type name table_entry_t
tools/aisimage.c:23:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:23:2: warning: (near initialization for aisimage_cmds[0] ) [enabled by default]
tools/aisimage.c:23:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:23:2: warning: (near initialization for aisimage_cmds[0] ) [enabled by default]
tools/aisimage.c:23:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:23:2: warning: (near initialization for aisimage_cmds[0] ) [enabled by default]
tools/aisimage.c:24:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:24:2: warning: (near initialization for aisimage_cmds[1] ) [enabled by default]
tools/aisimage.c:24:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:24:2: warning: (near initialization for aisimage_cmds[1] ) [enabled by default]
tools/aisimage.c:24:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:24:2: warning: (near initialization for aisimage_cmds[1] ) [enabled by default]
tools/aisimage.c:25:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:25:2: warning: (near initialization for aisimage_cmds[2] ) [enabled by default]
tools/aisimage.c:25:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:25:2: warning: (near initialization for aisimage_cmds[2] ) [enabled by default]
tools/aisimage.c:25:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:25:2: warning: (near initialization for aisimage_cmds[2] ) [enabled by default]
tools/aisimage.c:26:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:26:2: warning: (near initialization for aisimage_cmds[3] ) [enabled by default]
tools/aisimage.c:26:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:26:2: warning: (near initialization for aisimage_cmds[3] ) [enabled by default]
tools/aisimage.c:26:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:26:2: warning: (near initialization for aisimage_cmds[3] ) [enabled by default]
tools/aisimage.c:27:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:27:2: warning: (near initialization for aisimage_cmds[4] ) [enabled by default]
tools/aisimage.c:27:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:27:2: warning: (near initialization for aisimage_cmds[4] ) [enabled by default]
tools/aisimage.c:27:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:27:2: warning: (near initialization for aisimage_cmds[4] ) [enabled by default]
tools/aisimage.c:28:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:28:2: warning: (near initialization for aisimage_cmds[5] ) [enabled by default]
tools/aisimage.c:28:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:28:2: warning: (near initialization for aisimage_cmds[5] ) [enabled by default]
tools/aisimage.c:28:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:28:2: warning: (near initialization for aisimage_cmds[5] ) [enabled by default]
tools/aisimage.c:29:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:29:2: warning: (near initialization for aisimage_cmds[6] ) [enabled by default]
tools/aisimage.c:29:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:29:2: warning: (near initialization for aisimage_cmds[6] ) [enabled by default]
tools/aisimage.c:29:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:29:2: warning: (near initialization for aisimage_cmds[6] ) [enabled by default]
tools/aisimage.c:30:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:30:2: warning: (near initialization for aisimage_cmds[7] ) [enabled by default]
tools/aisimage.c:30:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:30:2: warning: (near initialization for aisimage_cmds[7] ) [enabled by default]
tools/aisimage.c:30:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:30:2: warning: (near initialization for aisimage_cmds[7] ) [enabled by default]
tools/aisimage.c:31:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:31:2: warning: (near initialization for aisimage_cmds[8] ) [enabled by default]
tools/aisimage.c:31:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:31:2: warning: (near initialization for aisimage_cmds[8] ) [enabled by default]
tools/aisimage.c:31:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:31:2: warning: (near initialization for aisimage_cmds[8] ) [enabled by default]
tools/aisimage.c:32:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:32:2: warning: (near initialization for aisimage_cmds[9] ) [enabled by default]
tools/aisimage.c:32:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:32:2: warning: (near initialization for aisimage_cmds[9] ) [enabled by default]
tools/aisimage.c:32:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:32:2: warning: (near initialization for aisimage_cmds[9] ) [enabled by default]
tools/aisimage.c:33:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:33:2: warning: (near initialization for aisimage_cmds[10] ) [enabled by default]
tools/aisimage.c:33:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:33:2: warning: (near initialization for aisimage_cmds[10] ) [enabled by default]
tools/aisimage.c:33:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:33:2: warning: (near initialization for aisimage_cmds[10] ) [enabled by default]
tools/aisimage.c:34:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:34:2: warning: (near initialization for aisimage_cmds[11] ) [enabled by default]
tools/aisimage.c:34:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:34:2: warning: (near initialization for aisimage_cmds[11] ) [enabled by default]
tools/aisimage.c:34:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:34:2: warning: (near initialization for aisimage_cmds[11] ) [enabled by default]
tools/aisimage.c:35:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:35:2: warning: (near initialization for aisimage_cmds[12] ) [enabled by default]
tools/aisimage.c:35:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:35:2: warning: (near initialization for aisimage_cmds[12] ) [enabled by default]
tools/aisimage.c:35:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:35:2: warning: (near initialization for aisimage_cmds[12] ) [enabled by default]
tools/aisimage.c:36:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:36:2: warning: (near initialization for aisimage_cmds[13] ) [enabled by default]
tools/aisimage.c:36:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:36:2: warning: (near initialization for aisimage_cmds[13] ) [enabled by default]
tools/aisimage.c:36:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:36:2: warning: (near initialization for aisimage_cmds[13] ) [enabled by default]
tools/aisimage.c:37:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:37:2: warning: (near initialization for aisimage_cmds[14] ) [enabled by default]
tools/aisimage.c:37:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:37:2: warning: (near initialization for aisimage_cmds[14] ) [enabled by default]
tools/aisimage.c:37:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:37:2: warning: (near initialization for aisimage_cmds[14] ) [enabled by default]
tools/aisimage.c:38:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:38:2: warning: (near initialization for aisimage_cmds[15] ) [enabled by default]
tools/aisimage.c:38:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:38:2: warning: (near initialization for aisimage_cmds[15] ) [enabled by default]
tools/aisimage.c:38:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:38:2: warning: (near initialization for aisimage_cmds[15] ) [enabled by default]
tools/aisimage.c:39:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:39:2: warning: (near initialization for aisimage_cmds[16] ) [enabled by default]
tools/aisimage.c:39:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:39:2: warning: (near initialization for aisimage_cmds[16] ) [enabled by default]
tools/aisimage.c:39:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:39:2: warning: (near initialization for aisimage_cmds[16] ) [enabled by default]
tools/aisimage.c:40:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:40:2: warning: (near initialization for aisimage_cmds[17] ) [enabled by default]
tools/aisimage.c:40:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:40:2: warning: (near initialization for aisimage_cmds[17] ) [enabled by default]
tools/aisimage.c:40:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:40:2: warning: (near initialization for aisimage_cmds[17] ) [enabled by default]
tools/aisimage.c:41:2: warning: braces around scalar initializer [enabled by default]
tools/aisimage.c:41:2: warning: (near initialization for aisimage_cmds[18] ) [enabled by default]
tools/aisimage.c:41:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:41:2: warning: (near initialization for aisimage_cmds[18] ) [enabled by default]
tools/aisimage.c:41:2: warning: excess elements in scalar initializer [enabled by default]
tools/aisimage.c:41:2: warning: (near initialization for aisimage_cmds[18] ) [enabled by default]
tools/aisimage.c: In function aisimage_print_header :
tools/aisimage.c:151:4: warning: implicit declaration of function get_table_entry_name [-Wimplicit-function-declaration]
tools/aisimage.c:151:4: warning: format %s expects argument of type char * , but argument 3 has type int [-Wformat]
tools/aisimage.c: In function aisimage_generate :
tools/aisimage.c:317:5: warning: implicit declaration of function get_table_entry_id [-Wimplicit-function-declaration]
tools/aisimage.c:335:25: error: request for member sname in something not a structure or union
tools/aisimage.c: In function aisimage_check_image_types :
tools/aisimage.c:366:14: error: IH_TYPE_AISIMAGE undeclared (first use in this function)
tools/aisimage.c:366:14: note: each undeclared identifier is reported only once for each function it appears in
tools/aisimage.c:370:1: warning: control reaches end of non-void function [-Wreturn-type]
make[1]: *** [tools/aisimage.o] Error 1
make: *** [tools] Error 2

William Hermans

unread,
Jun 4, 2016, 11:56:36 AM6/4/16
to beagl...@googlegroups.com
You're problem does to seem to be a compiler error. It seems to be a missing type, specifically a missing struct with a member name of sname. Many times, this can be attributed to a missing header file. But that whole C file seems riddled with warnings, which a good developer should at least attempt to clean up . . . no idea who wrote that code.

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/039875fa-1ef5-436c-a40b-c930481abd04%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

William Hermans

unread,
Jun 4, 2016, 11:59:12 AM6/4/16
to beagl...@googlegroups.com
Judging by the amount of [-Wimplicit-function-declaration] warnings prior to the errors I'd think that you're missing a header file.

William Hermans

unread,
Jun 4, 2016, 4:11:07 PM6/4/16
to beagl...@googlegroups.com
Just thinking about what might also possibly be the cause, you could attempt to change the CC line in the make file to so gcc will use the C99 std instead of C11. the option to add would be  -std=c99

cwrse...@gmail.com

unread,
Jun 7, 2016, 9:20:29 AM6/7/16
to BeagleBoard


On Saturday, June 4, 2016 at 9:11:07 PM UTC+1, William Hermans wrote:
Just thinking about what might also possibly be the cause, you could attempt to change the CC line in the make file to so gcc will use the C99 std instead of C11. the option to add would be  -std=c99


The problem was GCC 4.7.3; I installed Ubuntu 16.04 and downloaded their ARM cross-compiler (GCC 4.9) and the build was straightforward.

C W Rose
Reply all
Reply to author
Forward
0 new messages