Many KDevplatform test targets are not marked as tests. Because of the commenting out the add_subdirectory(tests) call in the top level CMakeLists.txt, those targets miss their link dependencies. Reproducible: Always Steps to Reproduce: 1. emerge -1 =dev-util/kdevplatform-9999 Actual Results: build fails $ emerge --info kdevplatform Portage 2.2.18 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/kde/systemd, gcc-4.9.2, glibc-2.20-r2, 3.19.3-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-3.19.3-gentoo-x86_64-Intel-R-_Core-TM-_i7-4810MQ_CPU_@_2.80GHz-with-gentoo-2.2 KiB Mem: 16392932 total, 11332800 free KiB Swap: 33554428 total, 33554428 free Timestamp of repository gentoo: Sun, 29 Mar 2015 11:45:01 +0000 sh bash 4.3_p33-r2 ld GNU ld (Gentoo 2.25 p1.0) 2.25 app-shells/bash: 4.3_p33-r2::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.20.2::gentoo dev-lang/python: 2.7.9-r2::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo dev-util/cmake: 3.1.0::my-gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/sandbox: 2.6-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25::gentoo sys-devel/gcc: 4.8.4::gentoo, 4.9.2::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: 3.19::gentoo (virtual/os-headers) sys-libs/glibc: 2.20-r2::gentoo Repositories: gentoo location: /var/portage/gentoo sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 g-ctan location: /var/portage/repository/g-ctan masters: gentoo priority: 0 andy location: /var/portage/repository/andy sync-type: git sync-uri: git://git.overlays.gentoo.org/user/andy.git masters: gentoo priority: 50 bobwya location: /var/portage/repository/bobwya sync-type: laymansync sync-uri: https://github.com/bobwya/miscellaneous_ebuilds.git masters: gentoo priority: 50 dotnet location: /var/portage/repository/dotnet sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/dotnet.git masters: gentoo priority: 50 eigenlay location: /var/portage/repository/eigenlay sync-type: git sync-uri: git://gitorious.org/eigennet/eigenlay.git masters: gentoo priority: 50 gamerlay location: /var/portage/repository/gamerlay sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/gamerlay.git masters: gentoo priority: 50 kde location: /var/portage/repository/kde sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/kde.git masters: gentoo priority: 50 multimedia location: /var/portage/repository/multimedia sync-type: git sync-uri: https://git.gitorious.org/gentoo-multimedia/gentoo-multimedia.git masters: gentoo priority: 50 qt location: /var/portage/repository/qt sync-type: laymansync sync-uri: git://git.overlays.gentoo.org/proj/qt.git masters: gentoo priority: 50 rion location: /var/portage/repository/rion sync-type: laymansync sync-uri: git://github.com/rion-overlay/rion-overlay.git masters: gentoo priority: 50 science location: /var/portage/repository/science sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/sci.git masters: gentoo priority: 50 steam-overlay location: /var/portage/repository/steam-overlay sync-type: git sync-uri: git://github.com/anyc/steam-overlay.git masters: gentoo priority: 50 sunrise location: /var/portage/repository/sunrise sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/sunrise-reviewed.git masters: gentoo priority: 50 systemd location: /var/portage/repository/systemd sync-type: git sync-uri: git://git.overlays.gentoo.org/user/systemd.git masters: gentoo priority: 50 tfscripts location: /var/portage/repository/tfscripts sync-type: git sync-uri: git://gitorious.org/tfscripts/gentoo-ebuilds.git masters: gentoo priority: 50 x11 location: /var/portage/repository/x11 sync-type: git sync-uri: git://git.overlays.gentoo.org/proj/x11 masters: gentoo priority: 50 my-gentoo location: /var/portage/repository/my-gentoo masters: gentoo priority: 80 xanf location: /var/portage/repository/xanf masters: gentoo priority: 80 Installed sets: @system ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA @FSF-APPROVED google-chrome skype-eula dlj-1.1 PUEL Google-TOS googleearth TeamViewer Oracle-BCLA-JavaSE skype-4.0.0.7-copyright AdobeFlash-11.x Intel-SDP" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0" 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 /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/var/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build --keep-going" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs cgroup collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://de-mirror.org/gentoo/" LANG="uk_UA.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/var/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--quiet" 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/portage/tmp" USE="X a52 aac acl acpi alsa amd64 amr apng attica avahi bash-completion berkdb bluetooth bluray branding bs2b bzip2 cairo canberra caps cdda cdr cli colord cracklib crypt css cups cxx dbus declarative dirac djvu dri dts dv dvd dvdnav dvdr efi egl emboss encode exif faac fam ffmpeg firefox flac fontconfig fortran fuse gdbm geoip gif git glamor gnuplot gnutls gold gpm gsm gstreamer gtk gtk3 harfbuzz iconv idn ieee1394 imagemagick inotify iproute2 ipv6 jemalloc jit jpeg jpeg2k kde kerberos kipi lame lapack latex lcms ldap libass libnotify libsamplerate libsecret live lto luatex lzma mad metalink mmx mmxext mng modules mp3 mp4 mpeg mpi mtp multicall multilib ncurses netlink network networkmanager nfs nls nptl ogg openexr opengl openmp pam pango pch pcre pdf phonon pkcs11 plasma png policykit postscript ppds pulseaudio qt3support qt4 qt5 quicktime quvi radio readline romio rss rtmp samba scanner sctp sdl semantic-desktop session slp smartcard smp speex spell sqlite sse sse2 ssl startup-notification svg symlink system-icu system-sqlite systemd taglib tcpd theora threads thumbnail tiff truetype udev udisks unicode upnp upower usb v4l v4l2 vaapi vdpau vim-syntax vorbis vpx wayland wifi wxwidgets x264 x265 xattr xcb xcomposite xetex xft xinerama xml xmp xrandr xscreensaver xv xvid yv12 zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias proxy" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2 canon ptp2 fuji" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma fma3 mmx mmxext popcnt sse sse2 sse3 sse4 sse4_1 sse4_2 ssse3" DRACUT_MODULES="caps systemd" ELIBC="glibc" GPSD_PROTOCOLS="garmin garmintxt gpsclock timing" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="keyboard mouse evdev evdev synaptics wacom joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer nlpsolver" LINGUAS="en eo de ru uk ru_RU uk_UA" LIRC_DEVICES="alsa_usb" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20 ruby22" SANE_BACKENDS="epson2 net" USERLAND="GNU" VIDEO_CARDS="v4l radeon radeonsi intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="3.4 2.7 3.3" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS ================================================================= Package Settings ================================================================= dev-util/kdevplatform-9999::kde was built with the following: USE="classbrowser konsole reviewboard -cvs -debug" ABI_X86="64"
Created attachment 400020 [details] build.log
Created attachment 400024 [details, diff] mark test targets as tests This patch marks some targets as tests and allows to compile kdevplatform with add_subdirectory(tests) commented out. I think we shall ask upstream why they left these targets as they are.
Created attachment 400030 [details, diff] mark kdevelop test targets as tests The very same problems arise in KDevelop if KDevplatform does not install test KDev::Test headers and libraries.
Maybe I miss something, but from browsing the code of the tests subdir I found that those are not self-tests of the package but rather code for tests framework. Therefore it should actually be kept in the code, not removed. I attached a patch to commit 52c34e589dd6fabfe73444b85735191f562cd31a which adds headers for QTest into cmake.
Created attachment 401534 [details, diff] Adds QTest to headers list
Is this still an issue? I changed the eclass in f3331211456dcb58bc4ba8c30d67c29689dddeeb to stop trying to comment out tests outside of frameworks/plasma/apps.