[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