QtWebEngine编译失败

问题描述

我正在从零开始构建当前稳定的64位Linux。我有gcc-10.2.0。 我已经成功安装了所有软件,包括Qt5-15.0。我已经安装了所有推荐的软件包。我遵循了指南:http://www.linuxfromscratch.org/blfs...webengine.html

我也在重启后尝试了(没有chroot)。我也有MAKEFLAGS =“-j1”和NINJAJOBS =“ 1”。我没有设置任何CFLAGS或CXXFLAGS。我有QT5PREFIX = / opt / qt5。

$ qmake .. -- -system-ffmpeg -webengine-icu

Info: creating stash file /sources/BLFS/04/qtwebengine-everywhere-src-5.15.0/build/.qmake.stash
Info: creating cache file /sources/BLFS/04/qtwebengine-everywhere-src-5.15.0/build/.qmake.cache

Running configuration tests...
Checking for architecture supported... yes
Checking for bison... yes
Checking for python2... /usr/bin/python2
Checking for gperf... yes
Checking for flex... yes
Checking for submodule initialized... yes
Checking for build path without whitespace... yes
Checking for platform supported... 
Checking for x11... yes
Checking for libdrm... yes
Checking for xcomposite... yes
Checking for xcursor... yes
Checking for xi... yes
Checking for xtst... yes
Checking for host pkg-config... /usr/bin/pkg-config
Checking for jumbo build merge limit... 8
Checking for d-bus... yes
Checking for libavcodec libavformat libavutil... yes
Checking for opus... yes
Checking for libwebp,libwebpmux and libwebpdemux... yes
Checking for fontconfig... yes
Checking for freetype >= 2.4.2... yes
Checking for glib-2.0 >= 2.32.0... yes
Checking for glibc > 2.16... yes
Checking for harfbuzz >= 2.2.0... yes
Checking for icu >= 64... yes
Checking for compatible jpeglib... yes
Checking for jsoncpp... no
Checking for khr... yes
Checking for lcms2... yes
Checking for libevent... yes
Checking for libvpx... yes
Checking for compatible libxml2 and libxslt... no
Checking for minizip... no
Checking for system ninja... yes
Checking for nss >= 3.26... yes
Checking for libpng >= 1.6.0... yes
Checking for protobuf... no
Checking for re2... no
Checking for snappy... no
Checking for xkbcommon... yes
Checking for zlib... yes
Checking for alsa... yes
Checking for embedded build... no
Checking for linker supports -z noexecstack... yes
Checking for poppler-cpp... yes
Checking for pulseaudio >= 0.9.10... yes
Done running configuration tests.

Configure summary:

Qt WebEngine Build Tools:
  Use System Ninja ....................... yes
  Use System Gn .......................... no
  Jumbo Build Merge Limit ................ 8
  Developer build ........................ no
  QtWebEngine required system libraries:
    fontconfig ........................... yes
    dbus ................................. yes
    nss .................................. yes
    khr .................................. yes
    glibc ................................ yes
  QtWebEngine required system libraries for qpa-xcb:
    x11 .................................. yes
    libdrm ............................... yes
    xcomposite ........................... yes
    xcursor .............................. yes
    xi ................................... yes
    xtst ................................. yes
  Optional system libraries used:
    re2 .................................. no
    icu .................................. yes
    libwebp,libwebpmux and libwebpdemux . yes
    opus ................................. yes
    ffmpeg ............................... yes
    libvpx ............................... yes
    snappy ............................... no
    glib ................................. yes
    zlib ................................. yes
    minizip .............................. no
    libevent ............................. yes
    jsoncpp .............................. no
    protobuf ............................. no
    libxml2 and libxslt .................. no
    lcms2 ................................ yes
    png .................................. yes
    JPEG ................................. yes
    harfbuzz ............................. yes
    freetype ............................. yes
    xkbcommon ............................ yes
Qt WebEngineCore:
  Embedded build ......................... no
  Full debug information ................. no
  Pepper Plugins ......................... yes
  Printing and PDF ....................... yes
  Proprietary Codecs ..................... no
  Spellchecker ........................... yes
  Native Spellchecker .................... no
  WebRTC ................................. yes
  Geolocation ............................ yes
  WebChannel support ..................... yes
  Kerberos Authentication ................ no
  Extensions ............................. yes
  Support qpa-xcb ........................ yes
  Use ALSA ............................... yes
  Use pulseAudio ......................... yes
Qt WebEngineQml:
  Support Qt WebEngine Qml ............... yes
  UI Delegates ........................... yes
  Test Support ........................... no
Qt WebEngineWidgets:
  Support Qt WebEngine Widgets ........... yes
Qt PDF:
  Support V8 ............................. no
  Support XFA ............................ no
  Support XFA-BMP ........................ no
  Support XFA-GIF ........................ no
  Support XFA-PNG ........................ no
  Support XFA-TIFF ....................... no
Qt PDF Widgets:
  Support Qt PDF Widgets ................. yes

Qt is Now configured for building. Just run 'make'.
Once everything is built,you must run 'make install'.
Qt will be installed into '/opt/qt5'.

Prior to reconfiguration,make sure you remove any leftovers from
the prevIoUs build.

现在我运行make: $ make

[94/18219] /usr/bin/g++ -MMD -MF obj/base/base/base_jumbo_44.o.d -DUSE_SYMBOLIZE -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 -DBASE_IMPLEMENTATION -I. -Igen -I../../../../src/3rdparty/chromium -Igen -I../../../../src/3rdparty/chromium/third_party/boringssl/src/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 -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -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 -c gen/base/base_jumbo_44.cc -o obj/base/base/base_jumbo_44.o
[95/18219] /usr/bin/g++ -MMD -MF obj/base/base/base_jumbo_41.o.d -DUSE_SYMBOLIZE -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 -DBASE_IMPLEMENTATION -I. -Igen -I../../../../src/3rdparty/chromium -Igen -I../../../../src/3rdparty/chromium/third_party/boringssl/src/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 -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -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 -c gen/base/base_jumbo_41.cc -o obj/base/base/base_jumbo_41.o
[96/18219] /usr/bin/g++ -MMD -MF obj/base/base/base_jumbo_42.o.d -DUSE_SYMBOLIZE -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 -DBASE_IMPLEMENTATION -I. -Igen -I../../../../src/3rdparty/chromium -Igen -I../../../../src/3rdparty/chromium/third_party/boringssl/src/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 -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -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 -c gen/base/base_jumbo_42.cc -o obj/base/base/base_jumbo_42.o
[97/18219] /usr/bin/g++ -MMD -MF obj/base/base/base_jumbo_43.o.d -DUSE_SYMBOLIZE -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 -DBASE_IMPLEMENTATION -I. -Igen -I../../../../src/3rdparty/chromium -Igen -I../../../../src/3rdparty/chromium/third_party/boringssl/src/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 -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -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 -c gen/base/base_jumbo_43.cc -o obj/base/base/base_jumbo_43.o
Failed: obj/base/base/base_jumbo_43.o 
/usr/bin/g++ -MMD -MF obj/base/base/base_jumbo_43.o.d -DUSE_SYMBOLIZE -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 -DBASE_IMPLEMENTATION -I. -Igen -I../../../../src/3rdparty/chromium -Igen -I../../../../src/3rdparty/chromium/third_party/boringssl/src/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 -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -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 -c gen/base/base_jumbo_43.cc -o obj/base/base/base_jumbo_43.o
In file included from gen/base/base_jumbo_43.cc:14:
./../../../../src/3rdparty/chromium/base/message_loop/message_pump_libevent.cc: In function ‘void base::timer_callback(int,short int,void*)’:
./../../../../src/3rdparty/chromium/base/message_loop/message_pump_libevent.cc:191:3: error: ‘event_base_loopbreak’ was not declared in this scope; did you mean ‘event_base_loopexit’?
  191 |   event_base_loopbreak((struct event_base*)context);
      |   ^~~~~~~~~~~~~~~~~~~~
      |   event_base_loopexit
./../../../../src/3rdparty/chromium/base/message_loop/message_pump_libevent.cc: In static member function ‘static void base::MessagePumpLibevent::OnWakeup(int,void*)’:
./../../../../src/3rdparty/chromium/base/message_loop/message_pump_libevent.cc:341:3: error: ‘event_base_loopbreak’ was not declared in this scope; did you mean ‘event_base_loopexit’?
  341 |   event_base_loopbreak(that->event_base_);
      |   ^~~~~~~~~~~~~~~~~~~~
      |   event_base_loopexit
[98/18219] /usr/bin/g++ -MMD -MF obj/base/base/base_jumbo_37.o.d -DUSE_SYMBOLIZE -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 -DBASE_IMPLEMENTATION -I. -Igen -I../../../../src/3rdparty/chromium -Igen -I../../../../src/3rdparty/chromium/third_party/boringssl/src/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 -g0 -fvisibility=hidden -O2 -fno-ident -fdata-sections -ffunction-sections -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 -c gen/base/base_jumbo_37.cc -o obj/base/base/base_jumbo_37.o
ninja: build stopped: subcommand Failed.
make[3]: *** [Makefile.gn_run:552: run_ninja] Error 1
make[3]: Leaving directory '/sources/BLFS/04/qtwebengine-everywhere-src-5.15.0/build/src/core'
make[2]: *** [Makefile:82: sub-gn_run-pro-make_first] Error 2
make[2]: Leaving directory '/sources/BLFS/04/qtwebengine-everywhere-src-5.15.0/build/src/core'
make[1]: *** [Makefile:80: sub-core-make_first] Error 2
make[1]: Leaving directory '/sources/BLFS/04/qtwebengine-everywhere-src-5.15.0/build/src'
make: *** [Makefile:49: sub-src-make_first] Error 2

上面的输出有多个内核,但是我也尝试了单个内核,同样的错误

您知道如何解决吗?我也想:有没有办法禁用巨型东西?而且,有没有办法对qtwebengine进行预编译(以二进制形式)?

$ echo $QT5DIR
/opt/qt5

$ grep -R event_base_loopbreak /usr/include/
/usr/include/event2/event.h:  active,or until something calls event_base_loopbreak() or
/usr/include/event2/event.h: * running until event_base_loopexit() or event_base_loopbreak() makes us
/usr/include/event2/event.h:  pending or active events,or until something calls event_base_loopbreak() or
/usr/include/event2/event.h:  @see event_base_loopbreak()
/usr/include/event2/event.h:  event_base_loopbreak() is typically invoked from this event's callback.
/usr/include/event2/event.h:int event_base_loopbreak(struct event_base *);
/usr/include/event2/event.h:  event_base_loopbreak() is typically invoked from this event's callback.
/usr/include/event2/event.h:  @see event_base_loopbreak()
/usr/include/event2/event.h:  Checks if the event loop was told to abort immediately by event_base_loopbreak().
/usr/include/event2/event.h:  event_base_loopbreak() is called,until the event loop is next entered.
/usr/include/event2/event.h:  @return true if event_base_loopbreak() was called on this event base,/usr/include/event2/event.h:  @see event_base_loopbreak()
/usr/include/event2/event_compat.h:  This function behaves like event_base_loopbreakt(),except that it uses the
/usr/include/event2/event_compat.h:    use.  The replacement is event_base_loopbreak().
/usr/include/event2/event_compat.h:  @see event_base_loopbreak(),event_init()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)