[OE-core] [PATCH] autotools.bbclass: output failed config.log

Adrian Bunk bunk at stusta.de
Wed May 15 13:42:18 UTC 2019


On Wed, May 15, 2019 at 08:30:03PM +0800, Hongxu Jia wrote:
> On 5/15/19 7:08 PM, Adrian Bunk wrote:
> > The end of config.log often contains expected error messages completely
> > unrelated to the actual problem.
> 
> I am afraid you did not suffer pain from it, the most related message
> 
> with do_configure failure is config.log. Take a example, as my previous
> 
> commit [grub/grub-efi: fix unrecognized command line option
> 
> '-pipe-Wno-error' in CFLAGS]
> 
> It takes me hours to reproduce grub/grub-efi build faiure (only
>...

I fully understand your pain, and have already suffered it many times.

> > Debian autobuilders already dump config.log when when configuring failed,
> > and there it is a common problem that people end up searching for the
> > problem in the wrong places due to that.
> 
> It's another story, it is better that autobuilder provide sufficient and
> 
> necessary info and data, not only config.log, but also local.conf,
> 
> all available log.do_***, sources in ${B} and ${S}, even data in ${WORKDIR},
> 
> result of `bitbake -e'
> 
> but before we got there, the fix is best choice for do_configure failure

There is no universal best choice here.

Let me give you an example when building a more recent ofono locally 
with and without your patch.

When a configure task fails, the last lines from log.do_configure
are dumped to the shell.

Without your patch I get when building in a shell:
...
| checking whether to build shared libraries... yes
| checking whether to build static libraries... no
| checking for signalfd... yes
| checking for dlopen in -ldl... yes
| checking for glib-2.0 >= 2.32... yes
| checking for dbus-1 >= 1.4... yes
| checking for libudev >= 143... yes
| checking for mobile-broadband-provider-info... yes
| checking for ell >= 0.12... no
| configure: error: Embedded Linux library >= 0.12 is required
...

The problem is immediately visible.

With your patch, one has to scroll up through the whole config.log for 
getting this information.

And the config.log contains plenty of other (expected) errors a user 
might mistake as cause of the problem.

For autobuilders dumping config.log can be OK if there is no better 
option available, but people looking at autobuilder logs should be
aware what to scroll over when starting to look at the log.

For anyone building manually in a shell these should really not be done,
it has a high potential of confuding the user and the config.log is 
easily available.

The best available option might be to have a knob with default off,
and autobuilders might be configured to dump config.log.

> //Hongxu

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



More information about the Openembedded-core mailing list