QtWebEngine 6.2.2 compilation failure
Unsolved
Installation and Deployment
-
Hello! I'm trying to compile QtWebEngine 6.2.2 submodule on Nvidia Jetson TX2 natively. I went through the configuration process just fine, this is my config command:
cd $MODULE_PATH /usr/local/qt/bin/qt-configure-module . -feature-webengine-embedded-build
When I am building with
cmake --build . --parallel 6
, I get this error:-- GN Done. Made 16019 targets from 2327 files in 22728ms [71/163] Running ninja for QtWebEngineCore in /mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2/src/core/Release/aarch64 ninja: Entering directory `/mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2/src/core/Release/aarch64' [1923/26702] CXX obj/skia/skia_opts_crc32/SkOpts_crc32.o FAILED: obj/skia/skia_opts_crc32/SkOpts_crc32.o /usr/bin/c++ -MMD -MF obj/skia/skia_opts_crc32/SkOpts_crc32.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_FAVOR_WUFFS_V_0_3_OVER_V_0_2 -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_LIBRARY -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSKIA_IMPLEMENTATION=1 -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -Igen -I../../../3rdparty/chromium -I../../../3rdparty/chromium/third_party/skia -I../../../3rdparty/chromium/third_party/wuffs/src/release/c -I../../../3rdparty/chromium/third_party/vulkan/include -I../../../3rdparty/chromium/third_party/vulkan-deps/vulkan-headers/src/include -march=armv8-a+crc -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-pragmas -Wno-parentheses -Wno-sign-compare -Wno-stringop-overflow -Wno-stringop-overread -Wno-psabi -Wno-multichar -Wno-format-zero-length -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -fno-omit-frame-pointer -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -std=c++17 -std=gnu++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -std=c++17 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../../3rdparty/chromium/third_party/skia/src/opts/SkOpts_crc32.cpp -o obj/skia/skia_opts_crc32/SkOpts_crc32.o ../../../3rdparty/chromium/third_party/skia/src/opts/SkOpts_crc32.cpp:17:1: error: expected ‘}’ at end of input 17 | } | ^ In file included from ../../../3rdparty/chromium/third_party/skia/src/opts/SkChecksum_opts.h:31, from ../../../3rdparty/chromium/third_party/skia/src/opts/SkOpts_crc32.cpp:11: /usr/lib/gcc/aarch64-linux-gnu/9/include/arm_acle.h:33:12: note: to match this ‘{’ 33 | extern "C" { | ^ cc1plus: warning: unrecognized command line option ‘-Wno-stringop-overread’ [1930/26702] CXX obj/skia/skia_core_and_effects/SkColorSpaceXformSteps.o ninja: build stopped: subcommand failed. FAILED: src/core/Release/aarch64/QtWebEngineCore.stamp src/core/Release/aarch64/QtWebEngineCore /mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2/src/core/Release/aarch64/QtWebEngineCore.stamp /mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2/src/core/Release/aarch64/QtWebEngineCore cd /mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2/src/core && /usr/bin/ninja -C /mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2/src/core/Release/aarch64 QtWebEngineCore ninja: build stopped: subcommand failed.
I don't see the code issue on the file src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_crc32.cpp
/* * Copyright 2016 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "src/core/SkOpts.h" #define SK_OPTS_NS crc32 #include "src/opts/SkChecksum_opts.h" namespace SkOpts { void Init_crc32() { hash_fn = crc32::hash_fn; } }
What can I do here? Am I using wrong compilers? I tried gcc-9 as well. This is my configuration output:
'/usr/local/qt/bin/qt-cmake-private' '-DINPUT_webengine_embedded_build=yes' '.' -- The CXX compiler identification is GNU 9.4.0 -- The C compiler identification is GNU 7.5.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE -- Performing Test HAVE_STDATOMIC -- Performing Test HAVE_STDATOMIC - Success -- Found WrapAtomic: TRUE -- Performing Test HAVE_EGL -- Performing Test HAVE_EGL - Success -- Found EGL: /usr/include (found version "1.5") -- Performing Test HAVE_GLESv2 -- Performing Test HAVE_GLESv2 - Success -- Check for feature set changes -- Found Ninja: /usr/bin/ninja (found suitable version "1.8.2", minimum required is "1.7.2") -- Could NOT find Gn (missing: Gn_EXECUTABLE) (Required is exact version "6.2.2") -- Found Python2: /usr/bin/python2.7 (found suitable version "2.7.17", minimum required is "2.7.5") found components: Interpreter -- Found GPerf: /usr/bin/gperf -- Found BISON: /usr/bin/bison (found version "3.0.4") -- Found FLEX: /usr/bin/flex (found version "2.6.4") -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- Checking for module 'snappy' -- No package 'snappy' found -- Could NOT find Snappy (missing: SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR) -- Found Nodejs: /usr/bin/node (found suitable version "17.9.0", minimum required is "10.19") -- Checking for module 'dbus-1' -- Found dbus-1, version 1.12.2 -- Checking for module 'fontconfig' -- Found fontconfig, version 2.12.6 -- Checking for module 'libdrm' -- Found libdrm, version 2.4.101 -- Checking for module 'xcomposite' -- Found xcomposite, version 0.4.4 -- Checking for module 'xcursor' -- Found xcursor, version 1.1.15 -- Checking for module 'xi' -- Found xi, version 1.7.9 -- Checking for module 'xrandr' -- Found xrandr, version 1.5.1 -- Checking for module 'xshmfence' -- Found xshmfence, version 1.3 -- Checking for module 'xtst' -- Found xtst, version 1.2.3 -- Checking for module 'nss>=3.26' -- Found nss, version 3.35 -- Checking for module 'x11' -- Found x11, version 1.6.4 -- Checking for module 'glproto' -- Found glproto, version 1.4.17 -- Checking for module 'glib-2.0>=2.32.0' -- Found glib-2.0, version 2.56.4 -- Checking for modules 'harfbuzz>=2.4.0;harfbuzz-subset>=2.4.0' -- Requested 'harfbuzz >= 2.4.0' but version of harfbuzz is 1.7.2 -- No package 'harfbuzz-subset' found -- Checking for module 'libjpeg' -- Found libjpeg, version -- Checking for module 'libevent' -- No package 'libevent' found -- Checking for module 'minizip' -- No package 'minizip' found -- Checking for module 'libpng>=1.6.0' -- Found libpng, version 1.6.34 -- Checking for module 'zlib' -- Found zlib, version 1.2.11 -- Checking for module 're2' -- No package 're2' found -- Checking for modules 'icu-uc>=68;icu-i18n>=68' -- Requested 'icu-uc >= 68' but version of icu-uc is 60.2 -- Requested 'icu-i18n >= 68' but version of icu-i18n is 60.2 -- Checking for modules 'libwebp;libwebpmux;libwebpdemux' -- No package 'libwebp' found -- No package 'libwebpmux' found -- No package 'libwebpdemux' found -- Checking for module 'lcms2' -- No package 'lcms2' found -- Checking for module 'freetype2' -- Found freetype2, version 21.0.15 -- Checking for modules 'libxml-2.0;libxslt' -- No package 'libxslt' found -- Checking for modules 'libavcodec;libavformat;libavutil' -- Found libavcodec, version 57.107.100 -- Found libavformat, version 57.83.100 -- Found libavutil, version 55.78.100 -- Checking for module 'opus>=1.3.1' -- No package 'opus' found -- Checking for module 'vpx>=1.10.0' -- No package 'vpx' found -- Checking for module 'libpci' -- No package 'libpci' found -- Checking 'ulimit -n' -- Open files limit 1024 -- Creating linker launcher -- Performing Test HAVE_jpeg -- Performing Test HAVE_jpeg - Success -- Performing Test HAVE_freetype -- Performing Test HAVE_freetype - Success -- Performing Test HAVE_glibc -- Performing Test HAVE_glibc - Success -- Performing Test HAVE_khr -- Performing Test HAVE_khr - Success -- Performing Test HAVE_winversion -- Performing Test HAVE_winversion - Failed -- Checking for module 'xscrnsaver' -- No package 'xscrnsaver' found -- Found PkgConfigHost: /usr/bin/pkg-config -- Found GLESv2: /usr/include -- Found XKB: /usr/lib/aarch64-linux-gnu/libxkbcommon.so (found suitable version "0.8.2", minimum required is "0.5.0") -- Using installed syncqt found at: /usr/local/qt/libexec/syncqt.pl -- Running syncqt for module: 'QtWebEngineCore' -- Checking for module 'alsa' -- Found alsa, version 1.1.3 -- Checking for modules 'libpulse>=0.9.10;libpulse-mainloop-glib' -- No package 'libpulse' found -- No package 'libpulse-mainloop-glib' found -- Checking for module 'gio-2.0' -- Found gio-2.0, version 2.56.4 -- Checking for module 'xdamage' -- Found xdamage, version 1.1.4 -- Performing Test HAVE_alsa -- Performing Test HAVE_alsa - Success -- Performing Test HAVE_DASH_UNDEFINED_SYMBOLS -- Performing Test HAVE_DASH_UNDEFINED_SYMBOLS - Success -- Performing Test HAVE_DASH_DASH_NO_UNDEFINED -- Performing Test HAVE_DASH_DASH_NO_UNDEFINED - Success -- Tool 'Qt6::qwebengine_convert_dict' will be built from source. -- Running syncqt for module: 'QtWebEngineWidgets' -- Running syncqt for module: 'QtWebEngineQuick' -- The following packages have been found: * Qt6BuildInternals (required version >= 6.2.2) * Qt6CoreTools (required version >= 6.2.3) * Qt6Core (required version >= 6.2.2) * Qt6DBusTools (required version >= 6.2.3) * Qt6WidgetsTools (required version >= 6.2.3) * Qt6Widgets (required version >= 6.2.2) * Qt6OpenGL (required version >= 6.2.2) * Qt6Qml (required version >= 6.2.2) * Qt6QmlTools (required version >= 6.2.3) * Qt6QuickControls2 (required version >= 6.2.2) * Qt6Test (required version >= 6.2.2) * Qt6QuickWidgets (required version >= 6.2.2) * Qt6QuickTest (required version >= 6.2.2) * Qt6WebSockets (required version >= 6.2.2) * Qt6Designer (required version >= 6.2.2) * GPerf, Perfect hash function generator, <https://www.gnu.org/software/gperf/> * BISON * FLEX * Ninja (required version >= 1.7.2), Build tool, <https://ninja-build.org/> * Python2 (required version >= 2.7.5) * Nodejs (required version >= 10.19), JavaScript runtime environment that runs on the V8 engine, <https://nodejs.org/> * PkgConfigHost * Qt6Network (required version >= 6.2.2) * Qt6Quick (required version >= 6.2.2) * Qt6Positioning (required version >= 6.2.2) * Qt6WebChannel (required version >= 6.2.2) * Qt6PrintSupport (required version >= 6.2.2) * EGL, A platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES and OpenVG., <https://www.khronos.org/egl/> * PkgConfig * XKB (required version >= 0.5.0), XKB API common to servers and clients., <http://xkbcommon.org> * Qt6GuiTools (required version >= 6.2.3) * Qt6Gui * Qt6 -- The following OPTIONAL packages have not been found: * Qt6QmlCompilerPlus * Gn (required version == 6.2.2), Meta-build system, <https://gn.googlesource.com/gn/> * Snappy Configure summary: WebEngine Repository Build Options: Build Ninja ............................ no Build Gn ............................... yes Jumbo Build ............................ yes Developer build ........................ no Build QtWebEngine Modules: Build QtWebEngineCore ................ yes Build QtWebEngineWidgets ............. yes Build QtWebEngineQuick ............... yes Build QtPdf Modules: Build QtPdfWidgets ................... no Build QtPdfQuick ..................... no Optional system libraries: re2 .................................. no icu .................................. no libwebp, libwebpmux and libwebpdemux . no opus ................................. no ffmpeg ............................... no libvpx ............................... no snappy ............................... no glib ................................. yes zlib ................................. yes minizip .............................. no libevent ............................. no libxml2 and libxslt .................. no lcms2 ................................ no png .................................. yes jpeg ................................. yes harfbuzz ............................. no freetype ............................. yes libpci ............................... no Qt WebEngineCore: Embedded build ......................... yes Full debug information ................. no Sanitizer support ...................... no Pepper Plugins ......................... no Printing and PDF ....................... no Proprietary Codecs ..................... no Spellchecker ........................... yes Native Spellchecker .................... no WebRTC ................................. no PipeWire over GIO ...................... no Geolocation ............................ yes WebChannel support ..................... yes Kerberos Authentication ................ no Extensions ............................. no Support GLX on qpa-xcb ................. no Use ALSA ............................... yes Use PulseAudio ......................... no Qt WebEngineQuick: UI Delegates ........................... yes -- Configuring done -- Generating done -- Build files have been written to: /mnt/internal/downloads/qtwebengine-everywhere-src-6.2.2