[U-Boot] buildman: display list of boards with warnings/errors during build?

Simon Glass sjg at chromium.org
Wed Oct 15 18:32:24 CEST 2014


Hi Albert,

On 15 October 2014 18:30, Albert ARIBAUD <albert.u.boot at aribaud.net> wrote:
> Hi Simon,
>
> On Wed, 15 Oct 2014 14:44:06 +0200, Simon Glass <sjg at chromium.org>
> wrote:
>
>> Hi Albert,
>>
>> On 15 October 2014 12:17, Albert ARIBAUD <albert.u.boot at aribaud.net> wrote:
>> > Hi Simon,
>> >
>> > On Wed, 15 Oct 2014 09:24:34 +0200, Simon Glass <sjg at chromium.org>
>> > wrote:
>> >
>> >> Hi Albert,
>> >>
>> >> On 15 October 2014 08:28, Albert ARIBAUD <albert.u.boot at aribaud.net> wrote:
>> >> > Hello,
>> >> >
>> >> > Apologies if I have missed the answer to my question in
>> >> > tools/buildman/README or the buildman -h output.
>> >>
>> >> Also -H which gives the full README.
>> >>
>> >> >
>> >> > When buildman runs on a large set of boards (such as when I run
>> >> > 'tools/buildman/buildman -k aarch64 arm') it shows a summary of how
>> >> > many boards so far have built fine, built with warnings and built with
>> >> > errors, which is good, and a list of notes, warnings and errors emitted
>> >> > by the compiler so far, which is good when building branches. But when
>> >> > building architectures, as I do, I would prefer that buildman just list
>> >> > the boards that have failed clean building (and list them again when
>> >> > invoked with -s)
>> >> >
>> >> > Did I just miss the option or option combination which produces this,
>> >> > or should I go and patch buildman to add such an option?
>> >>
>> >> Does -l do what you want?
>> >
>> > Not exactly: -l does list the failing boards, but it does so as
>> > they are found, mixing the warning and error cases. MAKEALL lists them
>> > at the end, in a summary, where all boards with warning are listed
>> > together and so are all boards with errors. I don't mind getting the
>> > list displayed before the end, for instance each time a new board
>> > fails, but I really would like it to be grouped by failure type
>> > (warning or error) and ideally, sorted in alphabetical board name order.
>> >
>> > Also, -l apparently does not prevent all notes, warnings and error
>> > diagnostics from being emitted by the compiler during builds.
>> >
>> > Plus, with -l, there seems to be a weird bug whereby a single board gets
>> > listed a bazillion times for a warning.
>> >
>> > To make things easier, I have pushed the commit I am using with
>> > buildman as branch "buildman_test" on u-boot-arm, and here is the
>> > command line I use, without -l:
>> >
>> >         tools/buildman/buildman -o build -k odroid apalis_t30
>> >         tricorder_flash tricorder edminiv2 wireless_space
>> >
>> > And with -l
>> >
>> >         tools/buildman/buildman -o build -k odroid apalis_t30
>> >         tricorder_flash tricorder edminiv2 wireless_space -l
>> >
>> > The first four boards have warnings or errors (the last two ones are
>> > just added as known guild build cases) with gcc version 4.8.2
>> > (Ubuntu/Linaro 4.8.2-16ubuntu4).
>>
>> OK I see. I think this is a bit wrong at the moment - I pushed a few
>> patches to u-boot-x86 in branch 'buildman' for you to try.
>
> The commit to fix -l works.
>
> The commit to preselect -e only when not in summary mode does not
> exactly match what I would like, because I want to hide compiler
> diagnostics in summary mode as well as in non-summary mode. IOW, when I
> build all of arm+aarch64 I am primarily looking at the list of boards
> which fail, not (at this point) at the reason why they do; this I can
> find later by looking at the err files.
>
> I guess removing entirely the 'options.show_errors = True' statement
> would be better, and anyway, I see one problem in automatically setting
> it True despite -e not being specified on the command line: in that
> case, the user has no way to set it back to False on the command line.
>
> On the other hand, removing the automatic setting of -e from the
> non-branch case causes a call to buildman to just produce the failing
> board names, which is close enough to what I want:
>
> $ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
> tricorder edminiv2 wireless_space
> Building current source for 6 boards (6 threads, 2 jobs per thread)
>        arm: +   odroid
>        arm: +   apalis_t30
>        arm: +   tricorder_flash
>        arm: +   tricorder
>     2    1    3 /6      0:00:05  : tricorder
> $
>
> $ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
> tricorder edminiv2 wireless_space -s
>
> $ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
> tricorder edminiv2 wireless_space -s
> boards.cfg is up to date. Nothing to do.
> Summary of current source for 6 boards (6 threads, 2 jobs per thread)
>        arm: +   tricorder tricorder_flash odroid apalis_t30
> $
>
> $ tools/buildman/buildman -k odroid apalis_t30 tricorder_flash
> tricorder edminiv2 wireless_space -s -e
> boards.cfg is up to date. Nothing to do.
> Summary of current source for 6 boards (6 threads, 2 jobs per thread)
>        arm: +   tricorder tricorder_flash odroid apalis_t30
> [awful lots of notes, warnings, errors]
> $
>
> Would it be ok to remove 'options.show_errors = True' altogether in the
> non-branch case?

Probably, it would just require an update to the instructions. It's a
very new feature. I'll update the patch and send it out.

Regards,
Simon


More information about the U-Boot mailing list