Bug 406342 - kdewebkit fails to build because Qt5WebKitWidgetsConfig.cmake not found
Summary: kdewebkit fails to build because Qt5WebKitWidgetsConfig.cmake not found
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-08 18:45 UTC by jimy byerley
Modified: 2024-04-20 21:25 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jimy byerley 2019-04-08 18:45:16 UTC
SUMMARY

I wanted to compile KDE entirely from sources, I use so kdesrc-build, and I had to compile Qt5 too because Debian 9 (stretch) repositories' versions of qt5 where to old.


---------------------------------------------------------------
$ cat ~/kde/src/log/2019-04-08-02/kdewebkit/cmake.log

The KDE compilation fails at building kdewebkit, I have the following cmake output:
de/usr' '-DCMAKE_PREFIX_PATH=/home/jimy/kde/qt5'
# from directory: /home/jimy/kde/build/kdewebkit
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 

CMake Error at /home/jimy/kde/qt5/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package):
  Could not find a package configuration file provided by "Qt5WebKitWidgets"
  with any of the following names:

    Qt5WebKitWidgetsConfig.cmake
    qt5webkitwidgets-config.cmake

  Add the installation prefix of "Qt5WebKitWidgets" to CMAKE_PREFIX_PATH or
  set "Qt5WebKitWidgets_DIR" to a directory containing one of the above
  files.  If "Qt5WebKitWidgets" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:16 (find_package)
--------------------------------------------------------------

The problem is that actually there is no Qt5WebKitWidget<...>.cmake !
--------------------------------------------------------------
$ find ~/kde -name Qt5WebKitWidgetsConfig.cmake
<nothing>

$ find ~/kde -name Qt5Web*.cmake
../../build/Qt5/qtwebchannel/lib/cmake/Qt5WebChannel/Qt5WebChannelConfigVersion.cmake
../../build/Qt5/qtwebchannel/lib/cmake/Qt5WebChannel/Qt5WebChannelConfig.cmake
../../build/Qt5/qtwebview/lib/cmake/Qt5WebView/Qt5WebViewConfigVersion.cmake
../../build/Qt5/qtwebview/lib/cmake/Qt5WebView/Qt5WebViewConfig.cmake
../../build/Qt5/qtwebsockets/lib/cmake/Qt5WebSockets/Qt5WebSocketsConfig.cmake
../../build/Qt5/qtwebsockets/lib/cmake/Qt5WebSockets/Qt5WebSocketsConfigVersion.cmake
../../qt5/lib/cmake/Qt5WebView/Qt5WebViewConfigVersion.cmake
../../qt5/lib/cmake/Qt5WebView/Qt5WebViewConfig.cmake
../../qt5/lib/cmake/Qt5WebSockets/Qt5WebSocketsConfig.cmake
../../qt5/lib/cmake/Qt5WebSockets/Qt5WebSocketsConfigVersion.cmake
../../qt5/lib/cmake/Qt5WebChannel/Qt5WebChannelConfigVersion.cmake
../../qt5/lib/cmake/Qt5WebChannel/Qt5WebChannelConfig.cmake
---------------------------------------------------------------------

STEPS TO REPRODUCE
installed following packages on the system (there is some missing in this list from the list specified at https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source), but many packages were old and some doesn't exist anymore:
-----------------------------------------------------
$ sudo apt install autoconf bison breeze-dev build-essential bzr cmake cmake-data debhelper dh-apparmor doxygen extra-cmake-modules flex fontforge gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 git gperf icu-devtools kded5-dev kgendesignerplugin kinit-dev  kross-dev kscreenlocker-dev kwin-dev libaccounts-glib-dev libappstreamqt-dev libapr1 libaprutil1 libarchive-dev libasound2-dev libattr1-dev libboost-dev libbz2-dev libcanberra-dev libcap-dev libclang-3.9-dev libclang-dev libcln-dev libcups2-dev libcurl4-gnutls-dev libegl1-mesa-dev libepoxy-dev libexiv2-dev libfakekey-dev libfontconfig1-dev libfreetype6-dev libgbm-dev libgconf2-dev libgcrypt20-dev libgif-dev libglib2.0-dev libgmp-dev libgmpxx4ldbl libgpgme11-dev libgps-dev libgrantlee5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libhunspell-dev libibus-1.0-dev libicu-dev  libjson-perl  liblcms2-dev liblmdb-dev libmlt-dev libmlt++-dev libnm-dev libnm-glib-dev libnm-util-dev  libpng-dev libpolkit-agent-1-dev libpolkit-backend-1-dev libpolkit-gobject-1-dev libpulse-dev libpwquality-dev libqalculate-dev libqca-qt5-2-dev libqimageblitz-dev libqrencode-dev libqt5sensors5 libqt5sensors5-dev libqt5svg5-dev  libqt5webkit5-dev libqt5x11extras5-dev libqt5xmlpatterns5-dev libraw1394-dev libscim-dev libserf-1-1 libsm-dev libssl-dev libsvn1 libtiff5-dev libudev-dev libusb-dev libvlccore-dev libvlc-dev libvncserver-dev libwww-perl libx11-dev libx11-xcb-dev libxapian-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor0 libxcb-cursor-dev libxcb-damage0-dev libxcb-dpms0 libxcb-dpms0-dev libxcb-ewmh2 libxcb-ewmh-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-record0-dev libxcb-render-util0-dev libxcb-res0 libxcb-res0-dev libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shm0-dev libxcb-util0-dev libxcb-xf86dri0 libxcb-xf86dri0-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxcursor-dev libxft-dev libxi-dev libxkbfile-dev libxml2-dev libxml-parser-perl libxrender-dev libxslt1-dev libxslt-dev llvm llvm-3.9 modemmanager-dev modemmanager-qt-dev network-manager-dev perl-modules pkg-config pkg-kde-tools po-debconf qml-module-qtquick* qt5-qmake qtbase5-dev qtbase5-dev-tools qtbase5-private-dev qtdeclarative5-dev qtmultimedia5-dev qtquickcontrols2-5-dev qtscript5-dev qttools5-dev qtxmlpatterns5-dev-tools shared-mime-info subversion texinfo xauth xcb-proto xserver-xorg-dev xserver-xorg-input-evdev-dev xserver-xorg-input-libinput-dev xserver-xorg-input-synaptics-dev xsltproc xvfb
----------------------------------------------------------------------------

* following the steps at the last page, I download kdesrc-build, then run
~/kde/src/kdesrc-build:..$ kdesrc-build plasma-desktop


there is something else: (I doubt it has a link with the problem, but in such case ...)
If I relaunch kdesrc-build after the error appeared, (with target plasma-desktop or just with target kdewebkit) the Qt5 local repo is no more working, because the folder ~/kde/src/Qt5/kdewebrview has been touched (an it's impossible to commit or stach it since no file has been modified). To retry, I must:
$ rm -r ~/kde/src/Qt5/kdewebview
$ git reset --hard



SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Debian 9.8 fully up to date
(available in About System)
KDE Plasma Version: 5.15.80
Qt Version: 5.11.3
kdewebkit Version: 5.57.0
Comment 1 Christoph Feck 2019-04-08 21:17:16 UTC
Please ask in a forum of your distribution for exact package name for Qt5WebKitWidgets development headers.
Comment 2 jimy byerley 2019-04-09 19:27:59 UTC
(In reply to Christoph Feck from comment #1)
> Please ask in a forum of your distribution for exact package name for
> Qt5WebKitWidgets development headers.

In fact, I used the option to recompile Qt5 during the KDE compilation, so the problem should not depend on my distribution but on the names used in the latest Qt5 version.
Comment 3 Christoph Feck 2019-04-10 10:06:01 UTC
Do you use the 'kdesrc-build' tool?
Comment 4 Christoph Feck 2019-04-10 10:07:03 UTC
Yes, you do (I should learn to read :)

Reassigning to kdesrc-build developers for inspection.
Comment 5 Andrew Shark 2024-04-20 21:25:04 UTC
kdewebkit is only existing for compatibility currently. It is not used in kf6, and not any module depends on it. See https://mail.kde.org/pipermail/kde-frameworks-devel/2024-April/123493.html

So, just do not build this module.