How to build qtwebengine from Qt 5.5 git source

user1129812 picture user1129812 · May 19, 2015 · Viewed 7.8k times · Source

I have followed the instructions on this page Building Qt 5 from Git to build Qt 5.5 from source. The source is in "~/qt5_source_built/qt5" and the Qt 5.5 built system is in "~/qt5_source_built/qt5.5-build". I have used the following config options :

~/qt5_source_built/qt5/configure -developer-build -opensource -no-gtkstyle -nomake examples -nomake tests

and then used "make -j4" to build the qt-5.5 system. The system builds OK.

I use CMake to develop applications for the Qt 5.5 built system. It works for the usual cases (e.g. could use qtwebkit). However, when I want to test the qtwebengine module on a new application, I find that there seems NO qtwebengine include files and library files under the "~/qt5_source_built/qt5.5-build/qtbase" directory.

I have tried to re-make the system using different targets :

make all -j4

make module-qtwebengine -j4

make module-qtwebengine-all -j4

but the console keeps outputing

... Nothing to be done for ...

and the qtwebengine include and library files still could NOT be found under the "~/qt5_source_built/qt5.5-build/qtbase" directory after the re-make.

I notice that the qtwebengine source files seems could be found in "~/qt5_source_built/qt5/qtwebengine/src" but I just could not build it using the "make" command.

Have I just missed the qtwebengine include and library files under the built directory ? If not, does anyone know how could I build qtwebengine using this Qt 5.5 git source ?

Thanks for any suggestion.

Answer

Claudiu picture Claudiu · Oct 12, 2015

The following ended up working. I installed all of these prereqs. If they were missing, QtWebEngine wouldn't build. make module-qtwebengine usually printed out the reason it didn't build it:

sudo apt-get install bison build-essential flex gperf gyp \
    libasound2-dev libbz2-dev libcap-dev libcups2-dev libdrm-dev \
    libegl1-mesa-dev libfontconfig1-dev libgcrypt11-dev \
    libglu1-mesa-dev libicu-dev libnss3-dev libpci-dev libpulse-dev \
    libssl-dev libudev-dev libxcomposite-dev libxcursor-dev \
    libxdamage-dev libxrandr-dev libxtst-dev ninja python ruby

Then I used the following configuration. Not sure if this is minimal but it worked:

./configure -release -opensource -confirm-license -shared \
    -no-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype\
    -icu -openssl -qt-xcb -opengl -gui -widgets -skip webkit \
    -nomake examples

Note that I skipped webkit, and also I use -shared instead of -static since static linking of QtWebEngine is apparently not yet supported.