Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-85835

Qt Webengine Fails to Compile With Bison 3.7

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.15.0, 5.15
    • Fix Version/s: 5.15.1
    • Component/s: WebEngine
    • Labels:
      None
    • Environment:
      Gentoo Linux
    • Commits:
      3a03bd178fe8cdcfef23fe59a5751b269d0a699a (qt/qtwebengine/5.15)

      Description

      Bison 3.7 changes how header files are included [1][2], in that instead of copying and inserting the contents of a file, the file itself is included (by default as '"basename.h"').

      Due to this, instead of the contents of the header file, the '/build_dir/src/core/release/gen/third_party/blink/renderer/core/xpath_grammar.cc' file will only get '#include "xpath_grammar.hh"' instead of its contents, but this generated file is removed during the build and the compilation will stop as seen below.

      While probably not a proper fix, the build will succeed if the 'xpath_grammar.hh' isn't removed, which can be achieved by changing the qtwebengine-chromium sources as seen in the attached patch.

      FAILED: obj/third_party/blink/renderer/core/core_generated/core_generated_jumbo_11.o 
      /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -MMD -MF obj/third_party/blink/renderer/core/core_generated/core_generated_jumbo_11.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 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DBLINK_CORE_IMPLEMENTATION=1 -DBLINK_IMPLEMENTATION=1 -DINSIDE_BLINK -DVK_NO_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DUSE_GLX -DUSE_EGL -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DUCHAR_TYPE=uint16_t -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_BUILTIN_ISAC_FIX=0 -DWEBRTC_USE_BUILTIN_ISAC_FLOAT=1 -DWEBRTC_USE_X11 -DHAVE_SCTP -DNO_MAIN_THREAD_WRAPPING -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_HAS_JPEG_LIBRARY -DSK_USE_LIBGIFCODEC -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\" -DVK_NO_PROTOTYPES -DV8_COMPRESS_POINTERS -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DUCHAR_TYPE=uint16_t -DLEVELDB_PLATFORM_CHROMIUM=1 -DLEVELDB_PLATFORM_CHROMIUM=1 -DSUPPORT_WEBGL2_COMPUTE_CONTEXT=1 -DWTF_USE_WEBAUDIO_PFFFT=1 -DUSE_SYSTEM_LIBJPEG -DV8_COMPRESS_POINTERS -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS -DUSE_SYSTEM_ZLIB=1 -I. -Igen -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium -Igen -Igen -Igen -Igen -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/libyuv/include -Igen -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/jsoncpp/source/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/jsoncpp/generated -Igen -Igen -Igen -Igen -Igen -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen -Igen -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/vulkan/include -Igen -Igen -Igen -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/khronos -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/gpu -Igen/third_party/dawn/src/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/dawn/src/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/ced/src -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/protobuf/src -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/webrtc_overrides -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/webrtc -Igen/third_party/webrtc -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/skia -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/libgifcodec -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/vulkan/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/skia/third_party/vulkanmemoryallocator -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/vulkan/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/angle/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/angle/src/common/third_party/base -Igen/angle -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/angle/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/v8/include -Igen/v8/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/crashpad/crashpad -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/non_mac -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/non_win -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/libwebm/source -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/leveldatabase -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/leveldatabase/src -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/leveldatabase/src/include -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -Igen/third_party/perfetto -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/iccjpeg -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/third_party/ots/include -I../../../../qtwebengine-5.15.9999/src/3rdparty/chromium/v8/include -Igen/v8/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -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 -fno-omit-frame-pointer -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -Wno-unused-variable -I/usr/include/nss -I/usr/include/nspr -I/usr/include/libpng16 -I/usr/include/libxml2 -I/usr/include/libxml2 -std=gnu++14 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wno-deprecated-declarations -c gen/third_party/blink/renderer/core/core_generated_jumbo_11.cc -o obj/third_party/blink/renderer/core/core_generated/core_generated_jumbo_11.o
      In file included from gen/third_party/blink/renderer/core/core_generated_jumbo_11.cc:11:
      /[...]/qtwebengine-5.15.9999_build/src/core/release/gen/third_party/blink/renderer/core/xpath_grammar.cc:124:10: fatal error: xpath_grammar.hh: No such file or directory
        124 | #include "xpath_grammar.hh"
            |          ^~~~~~~~~~~~~~~~~~
      compilation terminated.
      

      1. https://lists.gnu.org/archive/html/info-gnu/2020-07/msg00006.html
      2. https://www.gnu.org/software/bison/manual/html_node/_0025define-Summary.html

        Attachments

        For Gerrit Dashboard: QTBUG-85835
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            allan.jensen Allan Sandfeld Jensen
            Reporter:
            chiitoo chiitoo
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes