Gentoo kde-frameworks/kdewebkit failed compilation with Qt5WebKit could not be found because dependency is required

Updating the KDE Plasma Desktop in our Gentoo workstations this time failed with

CMake Error at /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:48 (find_package):
  Found package configuration file:

    /usr/lib64/cmake/Qt5WebKit/Qt5WebKitConfig.cmake

  but it set Qt5WebKit_FOUND to FALSE so package "Qt5WebKit" is considered to
  be NOT FOUND.  Reason given by package:

  Qt5WebKit could not be found because dependency is required to have exact
  version 5.11.x.

It was strange because the previous emerge included the QT upgrade from old 5.11.2 to 5.12.1 and this dependency should have been resolved properly before:

emerge -vau $(qlist -IC|grep dev-qt|sort|uniq)

But apparently despite that the emerge built all QT libraries in dependency order the “dev-qt/qtwebkit” was built against the old QT libraries. And this is what is saying the above error!

The solution is really simple just rebuild the dev-qt/qtwebkit

root@srv ~ # emerge -va dev-qt/qtwebkit

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtwebkit-5.212.0_pre20180120:5/5.212::gentoo  USE="X geolocation hyphen jit multimedia opengl printsupport qml -gles2 -gstreamer -nsplugin 
-orientation -webp" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] yes


For the completeness, we would like to mention there is a forum thread in Gentoo forums on the subject kdewebkit-5.48.0 fails to emerge The offered solution there is not tested by us and it is too slow (rebuilding all the kde-frameworks packages), but it might help someone with this problem if our solution fails to do it. So we mention it here:

emerge -av1 $(qlist -IC kde-frameworks)

The whole output error

>>> Emerging (2 of 176) kde-frameworks/kdewebkit-5.56.0::gentoo
 * kdewebkit-5.56.0.tar.xz BLAKE2B SHA512 size 😉 ...                                                                                                               
[ ok ]
>>> Unpacking source...
>>> Unpacking kdewebkit-5.56.0.tar.xz to /var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work
>>> Source unpacked in /var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work
>>> Preparing source in /var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build"
cmake -C /var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr 
-DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DKDE_INSTALL_DOCBUNDLEDIR=/usr/share/help -DCMAKE_BUILD_TYPE=Gentoo 
-DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build/gentoo_toolchain.cmake  
/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0
loading initial cache file /var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build/gentoo_common_config.cmake
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/lib64/distcc/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/lib64/distcc/bin/x86_64-pc-linux-gnu-gcc -- 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/lib64/distcc/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/lib64/distcc/bin/x86_64-pc-linux-gnu-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- 

CMake Error at /usr/share/cmake/Modules/CMakeFindDependencyMacro.cmake:48 (find_package):
  Found package configuration file:

    /usr/lib64/cmake/Qt5WebKit/Qt5WebKitConfig.cmake

  but it set Qt5WebKit_FOUND to FALSE so package "Qt5WebKit" is considered to
  be NOT FOUND.  Reason given by package:

  Qt5WebKit could not be found because dependency is required to have exact
  version 5.11.x.

Call Stack (most recent call first):
  /usr/lib64/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfig.cmake:93 (find_dependency)
  /usr/lib64/cmake/Qt5/Qt5Config.cmake:28 (find_package)
  CMakeLists.txt:16 (find_package)


-- Configuring incomplete, errors occurred!
See also "/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build/CMakeFiles/CMakeOutput.log".
 * ERROR: kde-frameworks/kdewebkit-5.56.0::gentoo failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_configure
 *   environment, line 2610:  Called kde5_src_configure
 *   environment, line 2058:  Called cmake-utils_src_configure
 *   environment, line 1153:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 * 
 * If you need support, post the output of `emerge --info '=kde-frameworks/kdewebkit-5.56.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=kde-frameworks/kdewebkit-5.56.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/temp/environment'.
 * Working directory: '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build'
 * S: '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0'

>>> Failed to emerge kde-frameworks/kdewebkit-5.56.0, Log file:

>>>  '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/temp/build.log'

 * Messages for package kde-frameworks/kdewebkit-5.56.0:

 * ERROR: kde-frameworks/kdewebkit-5.56.0::gentoo failed (configure phase):
 *   cmake failed
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_configure
 *   environment, line 2610:  Called kde5_src_configure
 *   environment, line 2058:  Called cmake-utils_src_configure
 *   environment, line 1153:  Called die
 * The specific snippet of code:
 *       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
 * 
 * If you need support, post the output of `emerge --info '=kde-frameworks/kdewebkit-5.56.0::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=kde-frameworks/kdewebkit-5.56.0::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/temp/environment'.
 * Working directory: '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0_build'
 * S: '/var/tmp/portage/kde-frameworks/kdewebkit-5.56.0/work/kdewebkit-5.56.0'

 * GNU info directory index is up-to-date.

Leave a Reply

Your email address will not be published. Required fields are marked *