[Buildroot] [PATCH] package/qt5/qt5webengine: fix build error
Peter Seiderer
ps.report at gmx.net
Tue Jul 30 21:30:29 UTC 2019
Hello Bartosz,
On Tue, 30 Jul 2019 13:58:32 +0200, Bartosz Bilas <b.bilas at grinn-global.com> wrote:
> This commit adds a patch from upstream chromium
> and bumps required minimal gcc version to 8.
>
> Fixes:
> ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1909:16:
> note: in definition of macro 'NS'
> #define NS(id) id
> ^~
Please paste some more lines of the failure, e.g. as the original:
[102/12099] CXX obj/skia/skcms/skcms.o
FAILED: obj/skia/skcms/skcms.o
[...]
../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h: In function ‘void exec_ops(const Op*, const void**, const char*, char*, int)’:
../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:560:16: internal compiler error: in convert_move, at expr.c:231
static void NS(exec_ops)(const Op* ops, const void** args,
^
../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1909:16: note: in definition of macro ‘NS’
#define NS(id) id
^~
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.buildroot.net/> for instructions.
As the intersting part is the 'internal compiler error'...
Regards,
Peter
>
> Signed-off-by: Bartosz Bilas <b.bilas at grinn-global.com>
> ---
> ...1-pkg_config-Fixes-when-use_sysroot-false.patch | 56 ++++++++++++++++++++++
> package/qt5/qt5webengine/Config.in | 6 +--
> 2 files changed, 59 insertions(+), 3 deletions(-)
> create mode 100644 package/qt5/qt5webengine/5.12.4/0001-pkg_config-Fixes-when-use_sysroot-false.patch
>
> diff --git a/package/qt5/qt5webengine/5.12.4/0001-pkg_config-Fixes-when-use_sysroot-false.patch b/package/qt5/qt5webengine/5.12.4/0001-pkg_config-Fixes-when-use_sysroot-false.patch
> new file mode 100644
> index 0000000000..e5ffd19dd0
> --- /dev/null
> +++ b/package/qt5/qt5webengine/5.12.4/0001-pkg_config-Fixes-when-use_sysroot-false.patch
> @@ -0,0 +1,56 @@
> +From cc35cac78c053c14da01d6b1e5b05b0615360148 Mon Sep 17 00:00:00 2001
> +From: Tom Anderson <thomasanderson at chromium.org>
> +Date: Thu, 2 Aug 2018 01:59:28 +0000
> +Subject: [PATCH] pkg_config: Fixes when use_sysroot=false
> +
> +This CL introduces 2 changes to the behavior of pkg_config when
> +use_sysroot=false:
> +
> +1. The path is not made relative to the build directory. This fixes the case
> +where your src directory may be mounted at different locations.
> +
> +2. -I is used instead of -isystem. When -isystem is used, dep files do not
> +reference the system header files. This is OK when using the sysroot because
> +the CR_SYSROOT_HASH macro contains the sysroot revision so any source files will
> +be rebuilt when the sysroot updates.
> +
> +R=dpranke
> +
> +Change-Id: Ia3d7df51880205fee888923283b76078ccb3112f
> +Reviewed-on: https://chromium-review.googlesource.com/1159689
> +Reviewed-by: Dirk Pranke <dpranke at chromium.org>
> +Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
> +Cr-Original-Commit-Position: refs/heads/master@{#580030}
> +Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
> +Cr-Mirrored-Commit: a8c8396fd20d98666d517c45b358c63736e345ef
> +---
> + src/3rdparty/chromium/build/config/linux/pkg_config.gni | 12 ++++++++----
> + 1 file changed, 8 insertions(+), 4 deletions(-)
> +
> +diff --git a/src/3rdparty/chromium/build/config/linux/pkg_config.gni b/src/3rdparty/chromium/build/config/linux/pkg_config.gni
> +index 53ee353af..428e44ac0 100644
> +--- a/src/3rdparty/chromium/build/config/linux/pkg_config.gni
> ++++ b/src/3rdparty/chromium/build/config/linux/pkg_config.gni
> +@@ -103,11 +103,15 @@ template("pkg_config") {
> + pkgresult = exec_script(pkg_config_script, args, "value")
> + cflags = pkgresult[1]
> +
> +- # We want the system include paths to use -isystem instead of -I to suppress
> +- # warnings in those headers.
> + foreach(include, pkgresult[0]) {
> +- include_relativized = rebase_path(include, root_build_dir)
> +- cflags += [ "-isystem$include_relativized" ]
> ++ if (use_sysroot) {
> ++ # We want the system include paths to use -isystem instead of -I to
> ++ # suppress warnings in those headers.
> ++ include_relativized = rebase_path(include, root_build_dir)
> ++ cflags += [ "-isystem$include_relativized" ]
> ++ } else {
> ++ cflags += [ "-I$include" ]
> ++ }
> + }
> +
> + if (!defined(invoker.ignore_libs) || !invoker.ignore_libs) {
> +--
> +2.21.0
> +
> diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
> index 744d659567..8102e39b0b 100644
> --- a/package/qt5/qt5webengine/Config.in
> +++ b/package/qt5/qt5webengine/Config.in
> @@ -10,10 +10,10 @@ config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
> depends on !BR2_BINFMT_FLAT # qt5base-icu
> depends on BR2_USE_MMU # libglib2, qt5base-dbus
>
> -comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 4.8, host gcc >= 4.8, threads, wchar"
> +comment "qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 8, host gcc >= 4.8, threads, wchar"
> depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
> depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_USES_GLIBC || \
> - !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \
> + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
> !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
>
> comment "qt5webengine needs an OpenGL and EGL-capable backend"
> @@ -30,7 +30,7 @@ config BR2_PACKAGE_QT5WEBENGINE
> depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
> depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo
> depends on BR2_HOST_GCC_AT_LEAST_4_8 # qt5base-icu
> - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # qt5base-icu
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # qt5base-icu
> depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85862 || BR2_PACKAGE_QT5_VERSION_5_6 # libnss
> depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libvpx, qt5base-dbus
> depends on BR2_USE_WCHAR # libglib2
More information about the buildroot
mailing list