Bug 12131 - qt5webengine builderror in the latest stable Buildroot 2019.05.01 version
Summary: qt5webengine builderror in the latest stable Buildroot 2019.05.01 version
Status: RESOLVED WORKSFORME
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2019.05.1
Hardware: Other Linux
: P1 blocker
Target Milestone: 2019.08
Assignee: unassigned
URL: https://www.fieldengineer.com/skills/...
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-22 12:29 UTC by Patrick Koller
Modified: 2022-09-18 10:51 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
Error logfile with ARM linaro toolchain 2018.05 and qt5.12.2 (32.80 KB, text/x-log)
2019-08-22 12:29 UTC, Patrick Koller
Details
.config file to reproduce the build error (16.69 KB, text/plain)
2019-08-22 12:45 UTC, Patrick Koller
Details
Error logfile with ARM linaro toolchain 2018.05 and qt5.13.0 (20.25 KB, text/x-log)
2019-08-22 12:46 UTC, Patrick Koller
Details
Error logfile with ARM linaro toolchain 2019.02 and qt5.12.2 (26.77 KB, text/plain)
2019-08-22 12:47 UTC, Patrick Koller
Details
190829_error_no_device_and_neon tarball (14.57 KB, application/gzip)
2019-08-29 11:34 UTC, Patrick Koller
Details
Buildroot configuration file (20.58 KB, text/plain)
2019-08-29 14:55 UTC, Patrick Koller
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Koller 2019-08-22 12:29:17 UTC
Created attachment 8201 [details]
Error logfile with ARM linaro toolchain 2018.05 and qt5.12.2

Hi buildroot team

I am using the latest stable Buildroot version 2019.05.1, but I am facing a builderror with the qt5webengine and I hope, that someone could help me out with this issue.

My setup:
From a hardware point of view, I am using a Ka-Ro TX6QP computer-on-module with an i.mx6 (ARM Cortex-A9) processor. For this reason, I am using the Linaro ARM 2018.05 toolchain (Proposed by Buildroot 2019.05.1). The goal is to build the qt5webengine (Latest: Qt5.12.2) successfully.

The challenge, I am facing right now:
I wanted to build the qt5webengine, but I got several error messages in this style:

> /home/patrickk/tmp/buildroot/buildroot-2019.05.1/buildroot-2019.05.1/output/host/opt/ext-toolchain/arm-linux-gnueabihf/include/c++/7.3.1/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
>  #include_next <stdlib.h>
>                ^~~~~~~~~~
> compilation terminated.

A quick google search (https://bugreports.qt.io/browse/QTBUG-53367) showed a known problem with new GCC > 4.8 versions in respect of the argument "-isystem". Nevertheless, I was not able to solve my described problem at the source.

Next, I tried to update the linaro toolchain to the newest available version, but the same error showed off...
Link: https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/arm-linux-gnueabihf/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz

My last attempt was to update Qt5 to version 5.13.0. This showed the following error:
> In file included from ../../3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc:25:0:
> ../../3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc: In function ‘sandbox::bpf_dsl::ResultExpr sandbox::RestrictPtrace()’:
> ../../3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc:401:9: error: ‘PTRACE_GET_THREAD_AREA’ was not declared in this scope
>          PTRACE_GET_THREAD_AREA,
>          ^
I am not sure, if my update from Qt5.12..2 to Qt5.13.0 solved the first error or even introduced a second error...

It would be awesome, if someone could help me out or give me a hint. I appreciate every support I get
I attached my .config file to this e-mail. If you need additional information, please do not hesitate to contact me.
Thanks in advance.
Comment 1 Patrick Koller 2019-08-22 12:45:54 UTC
Created attachment 8206 [details]
.config file to reproduce the build error
Comment 2 Patrick Koller 2019-08-22 12:46:52 UTC
Created attachment 8211 [details]
Error logfile with ARM linaro toolchain 2018.05 and qt5.13.0
Comment 3 Patrick Koller 2019-08-22 12:47:45 UTC
Created attachment 8216 [details]
Error logfile with ARM linaro toolchain 2019.02 and qt5.12.2
Comment 4 Giulio Benetti 2019-08-26 20:48:58 UTC
Hello Patrick,

this bug has already been fixed here with this commit:
https://git.busybox.net/buildroot/commit/?id=3a0ed5d25e26cb2ec99a1da077c9dcfea67b0ecc

What makes it show again is that you specify '-device imx6' in BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS.

When buildroot builds qt5 expects to use device 'buildroot' that is based on qmake.conf.in in 'package/qt5/qt5base/'

So basically you're telling to qt5 to ignore buildroot qt5 configuration.

You should only remove '-device imx6' from your BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS.

What is passed to qt5 build system when '-device imx6' is specified should be implicit when you choose the correct compiler. I mean these:
IMX6_CFLAGS             = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1

So if you compile for armv7-a with neon enable you should be ok.

Anyway I've tried this using master branch and I get a GCC ICE :/ and need to dig deeper.

But please, give a try with 2019.05.1 and let me know.

Thank you!

Giulio
Comment 5 Giulio Benetti 2019-08-26 20:52:27 UTC
Ah, just checked, you need to select 'neon' instead of 'VFPv3' as fpu
Comment 6 Patrick Koller 2019-08-29 11:27:10 UTC
Hi Giulio

Welcome back! I hope, you enjoyed your holiday to the fullest :)

Thanks for your help, I really appreciate your support.
I just applied your suggested changes to my configuration, but
another error showed up. Let me first tell you, what I did:

- Removed "-device imx6" from BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS
- Changed floating point strategy to NEON
- make clean && make

The qt5base build process failed due to the following error:

ERROR: Feature 'eglfs' was enabled, but the pre-condition
'!config.android && !config.darwin && !config.win32 && features.egl' failed.
(Log-File: 190829_error_no_device_and_neon)

Do you know, what is going on and could you please give me a hint?

Thanks a lot :)
Comment 7 Patrick Koller 2019-08-29 11:34:45 UTC
Created attachment 8226 [details]
190829_error_no_device_and_neon tarball

This tarball contains the large error-logfile
Comment 8 Giulio Benetti 2019-08-29 11:57:04 UTC
Hi Patrick,

can you confirm me that you're using:
- buildroot 2019.05.1
- attached .config file
- qt 5.12.x

Right?

Because I need this to reproduce your bug.
Comment 9 Giulio Benetti 2019-08-29 11:59:11 UTC
Ah, can you:
- make savedefconfig
And attach resulting defconfig here?

Also, are you sure you're using buildroot 2019.05.1 with no modifications?
Comment 10 Patrick Koller 2019-08-29 14:55:22 UTC
Hi Giulio

Thanks for getting in touch again. Here are your requested informations:

- I am using buildroot 2019.05.1
- I attached my .config file (190829_buildroot_config.tar.gz)
- I want to build Qt 5.12.2

I am sorry, but "make savedefconfig" failed... I don't know why:

make savedefconfig
n*** Error while saving defconfig to: /home/patrickk/tmp/buildroot/buildroot-2019.05.1/buildroot-2019.05.1/configs/polytab_defconfig

Makefile:1008: recipe for target 'savedefconfig' failed
make: *** [savedefconfig] Error 1

Thanks a lot.
Comment 11 Patrick Koller 2019-08-29 14:55:58 UTC
Created attachment 8231 [details]
Buildroot configuration file
Comment 12 Giulio Benetti 2019-08-29 15:07:02 UTC
(In reply to Patrick Koller from comment #10)
It failed because specified path doesn't exist.
Comment 13 Giulio Benetti 2019-08-29 18:49:40 UTC
I can't reproduce your error.
Unfortunately I get NS(x) error instead of yours.

Have you got the chance to join IRC channel for live speaking?
Otherwise it could take lot of time to solve this.
Comment 14 Bernd Kuhls 2019-10-05 18:11:10 UTC
I could reproduce the error:

[9/11078] CXX obj/skia/skia/SkPaintFilterCanvas.o
FAILED: obj/skia/skia/SkPaintFilterCanvas.o 
[...]
/home/buildroot/br5/output/host/i586-buildroot-linux-gnu/include/c++/9.2.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
   75 | #include_next <stdlib.h>

using this defconfig:

BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_BINUTILS_VERSION_2_32_X=y
BR2_GCC_VERSION_9_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_MESA3D_OPENGL_GLX=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5WEBENGINE=y
BR2_PACKAGE_XORG7=y
Comment 15 Bernd Kuhls 2019-10-05 18:15:16 UTC
Duplicate of https://bugs.busybox.net/show_bug.cgi?id=11776 ?
Comment 16 benstokes 2020-12-17 04:59:00 UTC
System support specialists provide help desk assistance and technical support for all types of issues affecting end users

https://www.fieldengineer.com/skills/system-support-specialist
Comment 17 Peter Korsgaard 2022-09-18 10:51:35 UTC
The 2019.05.x series is no longer supported, and qt5webengine has been bumped since, so closing the issue. Please reopen with more details if you still see the issue, thanks.