On 5/15/19 9:42 PM, Adrian Bunk wrote:
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.

After applying my fix, here is the sample

...

checking for i586-wrs-linux-gcc... i586-wrs-linux-gcc  -m32 -march=i586 --sysroot=/buildarea1/hjia/wrlinux-1019/build_master-wr_qemux86_2019051509/build/tmp-glibc/work/i586-wrs-linux/grub/2.02-r0/recipe-sysroot
checking whether the C compiler works... no
configure: error: in `/buildarea1/hjia/wrlinux-1019/build_master-wr_qemux86_2019051509/build/tmp-glibc/work/i586-wrs-linux/grub/2.02-r0/build':
configure: error: C compiler cannot create executables
See `config.log' for more details
NOTE: The following config.log files may provide further information.
NOTE: /buildarea1/hjia/wrlinux-1019/build_master-wr_qemux86_2019051509/build/tmp-glibc/work/i586-wrs-linux/grub/2.02-r0/build/config.log
NOTE: This file contains any messages produced by compilers while
NOTE: running configure, to aid debugging if configure makes a mistake.

...

The content of config.log has prefix `NOTE:' and also tells user

See `config.log' for more dettails and balabala

//Hongxu

//Hongxu
cu
Adrian


--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to