[U-Boot] Compiling u-boot (sunxi/next)

Ian Campbell ijc at hellion.org.uk
Fri Sep 18 10:32:22 CEST 2015


On Fri, 2015-09-18 at 10:22 +0200, Olliver Schinagl wrote:
> Hey all,

Did you CC the wrong Hans by mistake?

> just working on a _defconfig for our board and noticed that u-boot fails 
> to compile if my defconfig doesn't have:
> # CONFIG_CMD_IMLS is not set
> 
> What supprised me is that it has to be in there as a comment to unset 
> it. I would have imaged that it would be unset by default and only be 
> available if set in the defconfig, or rather, how can commenting it in 
> the defconfig unset it?

That's how Kconfig works, an option is either set =m or =y or is a comment
saying "# FOO is not set", which is equivalent to the (nonexistent) =n
state.

If a value isn't present at all then it takes on its default value, as
specified in the Kconfig file (default default is off, "default y" makes it
y etc), as modified by select from or depends on other options.

I'm not sure about the actual build failure. It's probably just a bug in
either the code or the Kconfig, but I don't know what IMLS even is.

Ian.

> 
> I've added the u-boot list to the CC, but afaik it's not an open list 
> and my registrations have failed on a number of occasions ...
> 
> Not that it should fail to compile either way, here's the output:
> 
> In file included from 
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:35:0:
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/include/mtd/cfi_flash.h:168:22: 
> error: unknown type name ‘flash_info_t’
>   void flash_write_cmd(flash_info_t * info, flash_sect_t sect,
>                        ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/include/mtd/cfi_flash.h:168:43: 
> error: unknown type name ‘flash_sect_t’
>   void flash_write_cmd(flash_info_t * info, flash_sect_t sect,
>                                             ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/include/mtd/cfi_flash.h:172:22: 
> error: unknown type name ‘flash_info_t’
>   void flash_cmd_reset(flash_info_t *info);
>                        ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:36:8: 
> error: unknown type name ‘flash_info_t’
>   extern flash_info_t flash_info[]; /* info for FLASH chips */
>          ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot-sunxi/common/cmd_bootm.c: In 
> function ‘do_imls_nor’:
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:321:2: 
> error: unknown type name ‘flash_info_t’
>    flash_info_t *info;
>    ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:326:7: 
> error: ‘CONFIG_SYS_MAX_FLASH_BANKS’ undeclared (first use in this
> function)
>     i < CONFIG_SYS_MAX_FLASH_BANKS; ++i, ++info) {
>         ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:326:7: 
> note: each undeclared identifier is reported only once for each function 
> it appears in
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:328:11: 
> error: request for member ‘flash_id’ in something not a structure or
> union
>     if (info->flash_id == FLASH_UNKNOWN)
>             ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:328:25: 
> error: ‘FLASH_UNKNOWN’ undeclared (first use in this function)
>     if (info->flash_id == FLASH_UNKNOWN)
>                           ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:330:23: 
> error: request for member ‘sector_count’ in something not a structure or 
> union
>     for (j = 0; j < info->sector_count; ++j) {
>                         ^
> /home/oliver/Ultimaker/dev/sunxi-bsp/u-boot
> -sunxi/common/cmd_bootm.c:332:22: 
> error: request for member ‘start’ in something not a structure or union
>      hdr = (void *)info->start[j];
> 
> 
> Olliver
> 


More information about the U-Boot mailing list