Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 560086 - kde-frameworks/kconfig-5.13.0 fails to build with USE=test
Summary: kde-frameworks/kconfig-5.13.0 fails to build with USE=test
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-09-10 04:43 UTC by Ryan Hill (RETIRED)
Modified: 2019-05-16 09:05 UTC (History)
1 user (show)

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


Attachments
build.log.gz (build.log.gz,22.25 KB, application/x-gunzip)
2015-09-10 04:43 UTC, Ryan Hill (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Hill (RETIRED) gentoo-dev 2015-09-10 04:43:17 UTC
Created attachment 411470 [details]
build.log.gz

make[2]: Entering directory '/var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build'
cd /var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0 /var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0/autotests /var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build /var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build/autotests /var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build/autotests/CMakeFiles/kstandardshortcuttest.dir/DependInfo.cmake --color=
make[2]: Entering directory '/var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build'
autotests/kconfig_compiler/CMakeFiles/test10.dir/build.make:66: *** target pattern contains no '%'.  Stop.
make[2]: Leaving directory '/var/tmp/portage/kde-frameworks/kconfig-5.13.0/work/kconfig-5.13.0_build'
CMakeFiles/Makefile2:1806: recipe for target 'autotests/kconfig_compiler/CMakeFiles/test10.dir/all' failed
make[1]: *** [autotests/kconfig_compiler/CMakeFiles/test10.dir/all] Error 2


Portage 2.2.20.1 (python 3.4.3-final-0, default/linux/amd64/13.0/developer, gcc-4.9.3, glibc-2.22, 4.1.4-gentoo x86_64)
=================================================================
System uname: Linux-4.1.4-gentoo-x86_64-Intel-R-_Core-TM-_i7-4910MQ_CPU_@_2.90GHz-with-gentoo-2.2
KiB Mem:    32842300 total,  14905216 free
KiB Swap:    1048572 total,   1048572 free
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.2.3 [enabled]
app-shells/bash:          4.3_p42::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/ccache:          3.2.3::gentoo
dev-util/cmake:           3.3.1-r1::gentoo
dev-util/pkgconfig:       0.28-r3::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.8.5::gentoo, 4.9.3::gentoo, 5.1.0::gentoo, 5.2.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: git+ssh://git@git.gentoo.org/repo/gentoo.git
    priority: -1000

local
    location: /home/rhill/overlay
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -g -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -g -pipe"
DISTDIR="/usr/src/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FCFLAGS="-O2 -march=native -g -pipe"
FEATURES="assume-digests binpkg-logs ccache cgroup clean-logs compress-build-logs compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign split-log splitdebug strict test test-fail-continue unknown-features-warn unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -march=native -g -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org/"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j12 V=1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="..."
USE_PYTHON="2.7 3.3 3.4"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Michael Palimaka (kensington) gentoo-dev 2015-09-10 10:59:54 UTC
I don't know why, but this is triggered by setting a custom toolchain (even an empty one):

cmake -DCMAKE_TOOLCHAIN_FILE=/dev/null .
Comment 2 Marien Zwart (RETIRED) gentoo-dev 2015-10-26 11:06:41 UTC
I ran into this and figured I should debug it a bit. Disclaimer: I don't know cmake.

Cutting to the chase, the problem is probably this bit in kconfig-5.15.0/src/kconfig_compiler/CMakeLists.txt:

if(CMAKE_TOOLCHAIN_FILE)
    if(BUILD_TESTING)
        message(WARNING "Testing should be disabled on cross-compilation")
    endif()
else()
    add_executable(KF5::kconfig_compiler ALIAS kconfig_compiler)
endif()

I really should've grepped for CMAKE_TOOLCHAIN_FILE to begin with, I took the scenic route getting to that check. kconfig_compiler is a target with an OUTPUT_NAME of kconfig_compiler_kf5 (see right above that check). That's presumably why without CMAKE_TOOLCHAIN_FILE (with that add_executable()), the following gets generated:

autotests/kconfig_compiler/signals_test_singleton.cpp: src/kconfig_compiler/kconfig_compiler_kf5
...
cd /tmp/kconfig-plain/autotests/kconfig_compiler && /tmp/kconfig-plain/src/kconfig_compiler/kconfig_compiler_kf5 /tmp/kconfig-5.15.0/autotests/kconfig_compiler/signals_test.kcfg /tmp/kconfig-5.15.0/autotests/kconfig_compiler/signals_test_singleton.kcfgc

which works great, while with CMAKE_OUTPUT_FILE (without add_executable()), you get:

autotests/kconfig_compiler/signals_test_singleton.cpp: /tmp/kconfig-5.15.0/autotests/kconfig_compiler/KF5::kconfig_compiler
...
cd /tmp/kconfig-custom-toolchain/autotests/kconfig_compiler && KF5::kconfig_compiler /tmp/kconfig-5.15.0/autotests/kconfig_compiler/signals_test.kcfg /tmp/kconfig-5.15.0/autotests/kconfig_compiler/signals_test_singleton.kcfgc

Notice the name of the kconfig compiler binary changed: it now has "::" in its name. Make's documentation for our error message points out why that name is a problem:

"If you see these errors and you aren’t trying to create a static pattern rule, check the value of any variables in your target and prerequisite lists to be sure they do not contain colons".

It's likely that CMakeLists.txt check could be improved to only skip the add_executable() bit if we're actually crosscompiling, but I don't know how. For now, I've just disabled testing as the build system wants me to.
Comment 3 Marien Zwart (RETIRED) gentoo-dev 2015-10-26 11:08:15 UTC
(I meant: I disabled testing locally, no gentoo ebuilds were harmed)
Comment 4 Ryan Hill (RETIRED) gentoo-dev 2015-11-15 07:50:58 UTC
Still broken in 5.16.0 and it's really annoying to kick off a massive kde update and come back later and find it barfed halfway through.  Can you RESTRICT tests here?
Comment 5 Michael Palimaka (kensington) gentoo-dev 2015-11-16 15:32:10 UTC
Thanks for the report, and thanks Marien for the investigation. Tests are restricted for now until we are able to fix them.

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