Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 685292 - [kde overlay] kde-apps/libkdegames-9999 QT5::Test cmake error
Summary: [kde overlay] kde-apps/libkdegames-9999 QT5::Test cmake error
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Overlays (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-07 22:39 UTC by Duncan
Modified: 2019-05-08 22:20 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
full build log (kde-apps:libkdegames-9999:20190507-215715.log,10.88 KB, text/plain)
2019-05-07 22:39 UTC, Duncan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan 2019-05-07 22:39:03 UTC
Created attachment 575482 [details]
full build log

FWIW I've no idea how this is triggering a bug and I suspect it's upstream, but hoping you can at least confirm and maybe explain what deep magic is going wrong here.

I currently have libkdegames-9999 at upstream commit 4bf270e37 installed, and I just tested using EGIT_OVERRIDE_COMMIT_LIBKDEGAMES that it still merges just fine.

As of now there's a single additional commit to upstream, 9de5c8264, and that does NOT build.  But it's simply a required cmake version bump (paste mangles spacing a bit):

commit 9de5c0264 (HEAD, refs/git-r3/kde-apps/libkdegames/5/__old__, refs/git-r3/kde-apps/libkdegames/5/__main__, refs/git-r3/HEAD)
Author: Laurent Montel <montel@kde.org>
Date:   Tue May 7 13:52:01 2019 +0200

GIT_SILENT:It's time to increase cmake version too
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0cff85c4a..9b711ab0c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@ enable_testing()

project(libkdegames)

-cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
set (QT_MIN_VERSION "5.3.0")

find_package(ECM 1.3.0 REQUIRED NO_MODULE)




Looks innocuous, right?

And that same cmake required version bump has been applied (probably scripted, actually) across many upstream packages that continue to build just fine!  So what's different about libkdegames that makes it break there?

But this is the result:

[ebuild   R   *] kde-apps/libkdegames-9999:5::kde  USE="-debug -test" 0 KiB

...

* Checking out https://anongit.kde.org/libkdegames to /tmp/portage/kde-apps/libkdegames-9999/work/libkdegames-9999 ...
git checkout --quiet refs/git-r3/HEAD
GIT update -->
repository:               https://anongit.kde.org/libkdegames
updating from commit:     4bf270e37b1c5f64a7f9c96dc3535f2677b2430a
to commit:                9de5c0264cd7af8b221a7975ba01a776c0d39c8b
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
>>> Source unpacked in /tmp/portage/kde-apps/libkdegames-9999/work
* 
>>> Preparing source in /tmp/portage/kde-apps/libkdegames-9999/work/libkdegames-9999 ...
>>> Source prepared.
* 
>>> Configuring source in /tmp/portage/kde-apps/libkdegames-9999/work/libkdegames-9999 ...
>>> Working in BUILD_DIR: "/tmp/portage/kde-apps/libkdegames-9999/work/libkdegames-9999_build"

...

-- <<< Gentoo configuration >>>
Build type      Gentoo
Install path    /usr
Compiler flags:
C               -march=native -O2 -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -std=iso9899:1990 -fno-common -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wmissing-format-attribute -Wwrite-strings -Werror=implicit-function-declaration
C++             -march=native -O2 -fgcse-sm -fgcse-las -fgcse-after-reload -ftree-vectorize -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fdiagnostics-color=always
Linker flags:
Executable      -Wl,--enable-new-dtags -Wl,-z,now,-z,relro,--as-needed,-O1,--hash-style=gnu,--sort-common,--enable-new-dtags
Module          -Wl,--no-undefined -Wl,--enable-new-dtags -Wl,-z,now,-z,relro,--as-needed,-O1,--hash-style=gnu,--sort-common,--enable-new-dtags
Shared          -Wl,--no-undefined -Wl,--enable-new-dtags -Wl,-z,now,-z,relro,--as-needed,-O1,--hash-style=gnu,--sort-common,--enable-new-dtags
-- Configuring done
CMake Error at libkdegamesprivate/tests/CMakeLists.txt:10 (add_executable):
Target "kgamesvgdocumenttest" links to target "Qt5::Test" but the target
was not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
libkdegamesprivate/tests/CMakeLists.txt:17 (LIBKDEGAMESPRIVATE_UNIT_TESTS)
CMake Error at libkdegamesprivate/tests/CMakeLists.txt:10 (add_executable):
Target "kgamepropertytest" links to target "Qt5::Test" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
libkdegamesprivate/tests/CMakeLists.txt:17 (LIBKDEGAMESPRIVATE_UNIT_TESTS)
-- Generating done
-- Build files have been written to: /tmp/portage/kde-apps/libkdegames-9999/work/libkdegames-9999_build
* ERROR: kde-apps/libkdegames-9999::kde failed (configure phase):
*   cmake failed
* 
* Call stack:
*     ebuild.sh, line  124:  Called src_configure
*   environment, line 3247:  Called kde5_src_configure
*   environment, line 2671:  Called cmake-utils_src_configure
*   environment, line 1402:  Called die
* The specific snippet of code:
*       "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
*

OK, QT5::Test errors we've seen before, right?  But why is a should-be-innocuous bump in cmake_minimum_required triggering it?

FWIW cmake-3.14.3 installed (well above the 3.5 required bump), and just in case it makes a difference I just upgraded to gcc-9.1.0, but as I said, I tested by rebuilding the previous commit with the now-current toolchain and it worked fine, so what sort of deep magic is breaking, here?

The only thing I can guess is that the previous cmake_minimum_required 2.8.12 triggered some sort of cmake-2.x old-cmake-compatibility mode that the new cmake_minimum_required 3.5 doesn't, or perhaps it's the 2-vs-3-component version difference, but either way, one then wonders why the same change in other packages isn't breaking them as well?

Makes no sense at all to me, but maybe it will to you...
Comment 1 Andreas Sturmlechner gentoo-dev 2019-05-07 22:51:58 UTC
kde5.eclass modifies CMakeLists.txt re USE flag settings, so it is a downstream issue triggered by cmake behavioural change.
Comment 2 Larry the Git Cow gentoo-dev 2019-05-08 22:20:13 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/proj/kde.git/commit/?id=a9f4df27f5c8af9e5b0eec7d194ddc66506b410a

commit a9f4df27f5c8af9e5b0eec7d194ddc66506b410a
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2019-05-08 22:19:51 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-05-08 22:19:51 +0000

    kde-apps/libkdegames: Set KDE_TEST=forceoptional-recursive
    
    Closes: https://bugs.gentoo.org/685292
    Package-Manager: Portage-2.3.66, Repoman-2.3.12
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 kde-apps/libkdegames/libkdegames-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)