[Interest] Building QTWebEngine

Simon Matthews simon.matthews at bluepearlsoftware.com
Thu Oct 10 19:54:45 CEST 2019


On 10/9/19 5:54 PM, Thiago Macieira wrote:
> On Wednesday, 9 October 2019 16:07:46 PDT Simon Matthews wrote:
>> [simon at UserBuild qtwebengine]$ make
>> make: Nothing to be done for 'first'.
> That indicates it did not configure itself to build. I ran into this issue
> today: one of my colleagues is workng to remove Python2 from the distribution
> and then he realised that the package for qtwebengine was successfully
> compiled, but ended up empty.
>
> There's a dependency missing. Take a look at the config.summary and possibly
> config.log files to see what it was looking for and missed. Search for "will
> not be built".
>
> If you configure qtwebengine alone you'll find out more easily.
>
> I've found the following error rmessages in the source, so it may help guide
> you on what you require:
>
> QtWebEngine requires QtGui.
> Submodule qtwebengine-chromium does not exist. Run 'git submodule update --
> init'.
> QtWebEngine cannot be built in a path that contains whitespace characters.
> pkg-config is required
> Required gperf could not be found.
> Required bison could not be found.
> Required flex could not be found.
> A suitable version of python2 could not be found.
> A suitable version >= 2.27 of libc could not be found.
> khronos development headers appear to be missing (mesa/libegl1-mesa-dev)
> A suitable version of $$package could not be found. [nss dbus fontconfig]
> Could not find all necessary libraries for qpa-xcb support
>
> My money is on glibc: 2.27 is from 2018. CentOS 6 comes with 2.12.
>
Below is the fragment of the transcript of the configuration for
qtwebengine. I can probably fix most of the issues,  but the glibc
version issue isn't something that can be worked around.

Is it possible to use an older version of Chromium that will work with
Glibc 2.12 (that's what is installed in CentOS 6)?

Also, how do I configure qtwebengine on its own?

Checking for libclang...
test config.qttools_qdoc.tests.libclang FAILED
Checking for embedded...
test config.qtwebengine_core.tests.webengine-embedded-build FAILED
Checking for bison...
Found bison from path: /usr/bin/bison
test config.qtwebengine_core.tests.webengine-bison succeeded
Checking for GCC 6 or newer...
test config.qtwebengine_core.tests.webengine-extensions-gcc-version
succeeded
Checking for flex...
Found flex from path: /usr/bin/flex
test config.qtwebengine_core.tests.webengine-flex succeeded
Checking for gperf...
Found gperf from path: /usr/bin/gperf
test config.qtwebengine_core.tests.webengine-gperf succeeded
Checking for host pkg-config...
Found host pkg-config: /usr/bin/pkg-config
test config.qtwebengine_core.tests.webengine-host-pkg-config gave result
/usr/bin/pkg-config
Checking for linker supports -z noexecstack...
+ cd /home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests &&
g++ -pipe -Wl,-z,noexecstack -o conftest-out conftest.cpp
test config.qtwebengine_core.tests.webengine-noexecstack succeeded
Checking for x11...
Trying source 0 (type pkgConfig) of library webengine-x11 ...
+ /usr/bin/pkg-config --exists --silence-errors x11
+ /usr/bin/pkg-config --modversion x11
 > 1.6.4
+ /usr/bin/pkg-config --libs-only-L x11
 >
+ /usr/bin/pkg-config --libs-only-l x11
 > -lX11
+ /usr/bin/pkg-config --cflags x11
 >
  => source accepted.
test config.qtwebengine_core.libraries.webengine-x11 succeeded
Checking for libdrm...
Trying source 0 (type pkgConfig) of library webengine-libdrm ...
+ /usr/bin/pkg-config --exists --silence-errors libdrm
+ /usr/bin/pkg-config --modversion libdrm
 > 2.4.65
+ /usr/bin/pkg-config --libs-only-L libdrm
 >
+ /usr/bin/pkg-config --libs-only-l libdrm
 > -ldrm
+ /usr/bin/pkg-config --cflags libdrm
 > -I/usr/include/libdrm
  => source accepted.
test config.qtwebengine_core.libraries.webengine-libdrm succeeded
Checking for xcomposite...
Trying source 0 (type pkgConfig) of library webengine-xcomposite ...
+ /usr/bin/pkg-config --exists --silence-errors xcomposite
+ /usr/bin/pkg-config --modversion xcomposite
 > 0.4.3
+ /usr/bin/pkg-config --libs-only-L xcomposite
 >
+ /usr/bin/pkg-config --libs-only-l xcomposite
 > -lXcomposite
+ /usr/bin/pkg-config --cflags xcomposite
 >
  => source accepted.
test config.qtwebengine_core.libraries.webengine-xcomposite succeeded
Checking for xcursor...
Trying source 0 (type pkgConfig) of library webengine-xcursor ...
+ /usr/bin/pkg-config --exists --silence-errors xcursor
+ /usr/bin/pkg-config --modversion xcursor
 > 1.1.14
+ /usr/bin/pkg-config --libs-only-L xcursor
 >
+ /usr/bin/pkg-config --libs-only-l xcursor
 > -lXcursor
+ /usr/bin/pkg-config --cflags xcursor
 >
  => source accepted.
test config.qtwebengine_core.libraries.webengine-xcursor succeeded
Checking for xi...
Trying source 0 (type pkgConfig) of library webengine-xi ...
+ /usr/bin/pkg-config --exists --silence-errors xi
+ /usr/bin/pkg-config --modversion xi
 > 1.7.8
+ /usr/bin/pkg-config --libs-only-L xi
 >
+ /usr/bin/pkg-config --libs-only-l xi
 > -lXi
+ /usr/bin/pkg-config --cflags xi
 >
  => source accepted.
test config.qtwebengine_core.libraries.webengine-xi succeeded
Checking for xtst...
Trying source 0 (type pkgConfig) of library webengine-xtst ...
+ /usr/bin/pkg-config --exists --silence-errors xtst
+ /usr/bin/pkg-config --modversion xtst
 > 1.2.3
+ /usr/bin/pkg-config --libs-only-L xtst
 >
+ /usr/bin/pkg-config --libs-only-l xtst
 > -lXtst
+ /usr/bin/pkg-config --cflags xtst
 >
  => source accepted.
test config.qtwebengine_core.libraries.webengine-xtst succeeded
Checking for poppler-cpp...
Trying source 0 (type pkgConfig) of library webengine-poppler-cpp ...
+ /usr/bin/pkg-config --exists --silence-errors poppler-cpp
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-poppler-cpp FAILED
Checking for pulseaudio >= 0.9.10...
Trying source 0 (type pkgConfig) of library pulseaudio ...
+ /usr/bin/pkg-config --exists --silence-errors libpulse '>=' 0.9.10
libpulse-mainloop-glib
+ /usr/bin/pkg-config --modversion libpulse '>=' 0.9.10
libpulse-mainloop-glib
 > 0.9.21
 > 0.9.21
+ /usr/bin/pkg-config --libs-only-L libpulse '>=' 0.9.10
libpulse-mainloop-glib
 >
+ /usr/bin/pkg-config --libs-only-l libpulse '>=' 0.9.10
libpulse-mainloop-glib
 > -lpulse-mainloop-glib -lpulse -lglib-2.0
+ /usr/bin/pkg-config --cflags libpulse '>=' 0.9.10 libpulse-mainloop-glib
 > -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
  => source accepted.
test config.qtwebengine_core.libraries.pulseaudio succeeded
Checking for python2...
Unsupported python version: 2.6.6.
A suitable Python 2 executable could not be located.
test config.qtwebengine_core.tests.webengine-python2 gave result
Checking for d-bus...
Trying source 0 (type pkgConfig) of library webengine-dbus ...
+ /usr/bin/pkg-config --exists --silence-errors dbus-1
+ /usr/bin/pkg-config --modversion dbus-1
 > 1.2.24
+ /usr/bin/pkg-config --libs-only-L dbus-1
 > -L/lib64
+ /usr/bin/pkg-config --libs-only-l dbus-1
 > -ldbus-1 -lpthread -lrt
+ /usr/bin/pkg-config --cflags dbus-1
 > -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include
  => source accepted.
test config.qtwebengine_core.libraries.webengine-dbus succeeded
Checking for fontconfig...
Trying source 0 (type pkgConfig) of library webengine-fontconfig ...
+ /usr/bin/pkg-config --exists --silence-errors fontconfig
+ /usr/bin/pkg-config --modversion fontconfig
 > 2.8.0
+ /usr/bin/pkg-config --libs-only-L fontconfig
 >
+ /usr/bin/pkg-config --libs-only-l fontconfig
 > -lfontconfig
+ /usr/bin/pkg-config --cflags fontconfig
 >
  => source accepted.
test config.qtwebengine_core.libraries.webengine-fontconfig succeeded
Checking for freetype >= 2.4.2...
Trying source 0 (type pkgConfig) of library webengine-freetype ...
+ /usr/bin/pkg-config --exists --silence-errors freetype2
+ /usr/bin/pkg-config --modversion freetype2
 > 9.22.3
+ /usr/bin/pkg-config --libs-only-L freetype2
 >
+ /usr/bin/pkg-config --libs-only-l freetype2
 > -lfreetype
+ /usr/bin/pkg-config --cflags freetype2
 > -I/usr/include/freetype2
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/webengine-freetype
&& /home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/bin/qmake
"CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared
warn_off console single_arch" 'QMAKE_USE += webengine-freetype'
'QMAKE_LIBS_WEBENGINE_FREETYPE = /usr/lib64/libfreetype.so'
'QMAKE_INCDIR_WEBENGINE_FREETYPE = /usr/include/freetype2'
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/webengine-freetype
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/webengine-freetype
&& MAKEFLAGS= /opt/rh/devtoolset-8/root/usr/bin/gmake
 > g++ -c -pipe -O2 -w -fPIC  -I. -isystem /usr/include/freetype2
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/mkspecs/linux-g++
-o main.o main.cpp
 > main.cpp:5:4: error: #error This version of freetype is too old.
 >  #  error This version of freetype is too old.
 >     ^~~~~
 > main.cpp: In function ‘int main(int, char**)’:
 > main.cpp:12:5: error: ‘FT_Reference_Face’ was not declared in this scope
 >      FT_Reference_Face(ft_face);
 >      ^~~~~~~~~~~~~~~~~
 > main.cpp:12:5: note: suggested alternative: ‘FT_Done_Face’
 >      FT_Reference_Face(ft_face);
 >      ^~~~~~~~~~~~~~~~~
 >      FT_Done_Face
 > gmake: *** [Makefile:169: main.o] Error 1
  => source failed verification.
test config.qtwebengine_core.libraries.webengine-freetype FAILED
Checking for glib-2.0 >= 2.32.0...
Trying source 0 (type pkgConfig) of library webengine-glib ...
+ /usr/bin/pkg-config --exists --silence-errors glib-2.0 '>=' 2.32.0
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-glib FAILED
Checking for glibc > 2.16...
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/glibc &&
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/bin/qmake
"CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared
warn_off console single_arch"
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/glibc
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/glibc &&
MAKEFLAGS= /opt/rh/devtoolset-8/root/usr/bin/gmake clean && MAKEFLAGS=
/opt/rh/devtoolset-8/root/usr/bin/gmake
 > rm -f glibc.o
 > rm -f *~ core *.core
 > g++ -c -pipe -O2 -w -fPIC
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/glibc
-I.
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/mkspecs/linux-g++
-o glibc.o
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/glibc/glibc.cpp
 >
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/glibc/glibc.cpp:32:2:
error: #error glibc versions below 2.17 are not supported
 >  #error glibc versions below 2.17 are not supported
 >   ^~~~~
 > gmake: *** [Makefile:169: glibc.o] Error 1
test config.qtwebengine_core.tests.webengine-glibc FAILED
Checking for jsoncpp...
Trying source 0 (type pkgConfig) of library webengine-jsoncpp ...
+ /usr/bin/pkg-config --exists --silence-errors jsoncpp
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-jsoncpp FAILED
Checking for khr...
+ cd /home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/khr
&& /home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/bin/qmake
"CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared
warn_off console single_arch"
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/khr
+ cd /home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/khr
&& MAKEFLAGS= /opt/rh/devtoolset-8/root/usr/bin/gmake
 > g++ -c -pipe -O2 -w -fPIC
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/khr
-I.
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/mkspecs/linux-g++
-o khr.o
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/khr/khr.cpp
 >
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/khr/khr.cpp:29:10:
fatal error: KHR/khrplatform.h: No such file or directory
 >  #include <KHR/khrplatform.h>
 >           ^~~~~~~~~~~~~~~~~~~
 > compilation terminated.
 > gmake: *** [Makefile:169: khr.o] Error 1
test config.qtwebengine_core.tests.webengine-khr FAILED
Checking for lcms2...
Trying source 0 (type pkgConfig) of library webengine-lcms2 ...
+ /usr/bin/pkg-config --exists --silence-errors lcms2
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-lcms2 FAILED
Checking for libevent...
Trying source 0 (type pkgConfig) of library webengine-libevent ...
+ /usr/bin/pkg-config --exists --silence-errors libevent
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-libevent FAILED
Checking for libvpx...
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/libvpx &&
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/bin/qmake
"CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared
warn_off console single_arch"
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/libvpx
 > Project ERROR: vpx development package not found
test config.qtwebengine_core.tests.webengine-libvpx FAILED
Checking for libwebp, libwebpmux and libwebpdemux...
Trying source 0 (type pkgConfig) of library webengine-webp ...
+ /usr/bin/pkg-config --exists --silence-errors libwebp libwebpmux
libwebpdemux
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-webp FAILED
Checking for libxml2 and libxslt...
Trying source 0 (type pkgConfig) of library webengine-libxml2 ...
+ /usr/bin/pkg-config --exists --silence-errors libxml-2.0 libxslt
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-libxml2 FAILED
Checking for minizip...
Trying source 0 (type pkgConfig) of library webengine-minizip ...
+ /usr/bin/pkg-config --exists --silence-errors minizip
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-minizip FAILED
Checking for system ninja...
Building own ninja
test config.qtwebengine_core.tests.webengine-ninja FAILED
Checking for nss >= 3.26...
Trying source 0 (type pkgConfig) of library webengine-nss ...
+ /usr/bin/pkg-config --exists --silence-errors nss '>=' 3.26
+ /usr/bin/pkg-config --modversion nss '>=' 3.26
 > 3.36.0
+ /usr/bin/pkg-config --libs-only-L nss '>=' 3.26
 >
+ /usr/bin/pkg-config --libs-only-l nss '>=' 3.26
 > -lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl
+ /usr/bin/pkg-config --cflags nss '>=' 3.26
 > -I/usr/include/nss3 -I/usr/include/nspr4
  => source accepted.
test config.qtwebengine_core.libraries.webengine-nss succeeded
Checking for opus...
Trying source 0 (type pkgConfig) of library webengine-opus ...
+ /usr/bin/pkg-config --exists --silence-errors opus
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-opus FAILED
Checking for protobuf...
Trying source 0 (type pkgConfig) of library webengine-protobuf ...
+ /usr/bin/pkg-config --exists --silence-errors protobuf
pkg-config did not find package.
   => source produced no result.
test config.qtwebengine_core.libraries.webengine-protobuf FAILED
Checking for re2...
+ cd /home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/re2
&& /home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/bin/qmake
"CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared
warn_off console single_arch"
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/re2
+ cd /home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/re2
&& MAKEFLAGS= /opt/rh/devtoolset-8/root/usr/bin/gmake
 > g++ -c -pipe -O2 -w -fPIC
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/re2
-I.
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/mkspecs/linux-g++
-o re2.o
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/re2/re2.cpp
 >
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/re2/re2.cpp:29:10:
fatal error: re2/re2.h: No such file or directory
 >  #include <re2/re2.h>
 >           ^~~~~~~~~~~
 > compilation terminated.
 > gmake: *** [Makefile:169: re2.o] Error 1
test config.qtwebengine_core.tests.webengine-re2 FAILED
Checking for snappy...
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/snappy &&
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/bin/qmake
"CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared
warn_off console single_arch"
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/snappy
+ cd
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/config.tests/snappy &&
MAKEFLAGS= /opt/rh/devtoolset-8/root/usr/bin/gmake
 > g++ -c -pipe -O2 -w -fPIC
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/snappy
-I.
-I/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtbase/mkspecs/linux-g++
-o snappy.o
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/snappy/snappy.cpp
 >
/home/simon/rpms/sources/qt-everywhere-src-5.13.1/qtwebengine/config.tests/snappy/snappy.cpp:29:10:
fatal error: snappy.h: No such file or directory
 >  #include <snappy.h>
 >           ^~~~~~~~~~
 > compilation terminated.
 > gmake: *** [Makefile:169: snappy.o] Error 1
test config.qtwebengine_core.tests.webengine-snappy FAILED
Done running configuration tests.

Configure summary:


Simon

Blue Pearl Software, Inc. will collect and process information about you that may be subject to data protection laws. For more information about how we use and disclose your personal information, how we protect your information, our legal basis to use your information, your rights and who you can contact, please refer to the relevant sections of our Privacy note at www.bluepearlsoftware.com/privacypolicy.


More information about the Interest mailing list