Skip to contentSkip to conversation

buildman: display list of boards with warnings/errors during build?

U-Boot Albert ARIBAUD 2 participants 6 messages Oct 15, 2014

lore
Share & tools
lore
#0 lore raw

Hello,

Apologies if I have missed the answer to my question in tools/buildman/README or the buildman -h output.

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?

Amicalement,

Signature · 1 line
Albert.
#1 lore raw

Hi Albert,

Quoted 4 lines · Albert ARIBAUD

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.

Quoted 10 lines

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)

Quoted 2 lines

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?

Regards,
Simon

#2 lore raw

Hi Simon,

Quoted 20 lines · Simon Glass

Hi Albert,

Quoted 4 lines · Albert ARIBAUD

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.

Quoted 10 lines

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)

Quoted 4 lines
Quoted 2 lines

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).

Again, if this is not possible, I am willing to contribute a patch to get it done.

Quoted 2 lines

Regards,
Simon

Amicalement,

Signature · 1 line
Albert.
#3 lore raw

Hi Albert,

Quoted 51 lines · Albert ARIBAUD

Hi Simon,

Quoted 20 lines · Simon Glass

Hi Albert,

Quoted 4 lines · Albert ARIBAUD

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.

Quoted 10 lines

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)

Quoted 4 lines
Quoted 2 lines

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

Quoted 8 lines

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.

Quoted 3 lines

Again, if this is not possible, I am willing to contribute a patch to get it done.

Well beyond the possible fixes I just pushed, yes it would be great if you could implement the features you need.

Regards,
Simon

#4 lore raw

Hi Simon,

Quoted 59 lines · Simon Glass

Hi Albert,

Quoted 56 lines · Albert ARIBAUD

Hi Simon,

Quoted 20 lines · Simon Glass

Hi Albert,

Quoted 4 lines · Albert ARIBAUD

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.

Quoted 10 lines

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)

Quoted 4 lines
Quoted 2 lines

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

Quoted 6 lines
Quoted 3 lines

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?

Quoted 2 lines

Regards,
Simon

Amicalement,

Signature · 1 line
Albert.
#5 lore raw

Hi Albert,

Quoted 117 lines · Albert ARIBAUD

Hi Simon,

Quoted 59 lines · Simon Glass

Hi Albert,

Quoted 56 lines · Albert ARIBAUD

Hi Simon,

Quoted 20 lines · Simon Glass

Hi Albert,

Quoted 4 lines · Albert ARIBAUD

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.

Quoted 10 lines

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)

Quoted 4 lines
Quoted 2 lines

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

Quoted 6 lines
Quoted 3 lines

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]
$
Quoted 2 lines

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