Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 561570 - cmake-utils.eclass silently breaks when CMAKE_MAKEFILE_GENERATOR="ninja" but ninja is not installed
Summary: cmake-utils.eclass silently breaks when CMAKE_MAKEFILE_GENERATOR="ninja" but ...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
: 558214 562002 (view as bug list)
Depends on:
Blocks: ninja-porting
  Show dependency tree
 
Reported: 2015-09-26 15:32 UTC by Toralf Förster
Modified: 2022-06-21 14:57 UTC (History)
0 users

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


Attachments
dev-util:cmake-3.2.2:20150926-144131.log (dev-util:cmake-3.2.2:20150926-144131.log,40.44 KB, text/plain)
2015-09-26 15:32 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,8.56 KB, text/plain)
2015-09-26 15:32 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2015-09-26 15:32:34 UTC
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file: /var/tmp/portage/dev-util/cmake-3.2.2/work/cmake-3.2.2_build/CMakeFiles/3.2.2/CMakeCXXCompiler.cmake
CMake Error at CMakeLists.txt:16 (project):
  No CMAKE_C_COMPILER could be found.

  Tell CMake where to find the compiler by setting the CMake cache entry
  CMAKE_C_COMPILER to the full path to the compiler, or to the compiler name
  if it is in the PATH.


$ cat ./info.txt
  -----------------------------------------------------------------

  This is an stable amd64 chroot image (named amd64-hardened-stable_20150926-114500) at a hardened host acting as a tinderbox.

  -----------------------------------------------------------------

  Portage 2.2.20.1 (python 3.4.1-final-0, hardened/linux/amd64, gcc-4.8.5, glibc-2.20-r2, 4.1.7-hardened-r1 x86_64)
=================================================================
System uname: Linux-4.1.7-hardened-r1-x86_64-Intel-R-_Core-TM-_i7-3770_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:    16164644 total,   1802544 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 26 Sep 2015 12:45:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p39::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r1::gentoo, 3.4.1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.69::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
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

local
    location: /usr/local/portage
    masters: gentoo

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: 9999

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
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="-march=native -O2 -pipe"
DISTDIR="/var/tmp/distfiles"
EMERGE_DEFAULT_OPTS="--color=n --nospinner --tree --quiet-build --accept-properties=-interactive --accept-restrict=-fetch"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://mirror.netcologne.de/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gor.bytemark.co.uk/gentoo/ rsync://ftp.snt.utwente.nl/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j1"
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="X acl adns aes-ni alsa amd64 avx avx2 berkdb bzip2 cli consolekit cracklib crypt curl custom-optimization cxx dbus designer dnssec dri dvb extraengine ffmpeg fpm gd gdbm gnuplot gpg gudev gui hardened hdf5 hpn iconv icu imap inifile ipv6 isag jadetex jpeg justify lapack minizip mmx mmxext modules multilib multimedia mysql ncurses nls nptl nss opencv opengl openmp openmpi pam pax_kernel pcre pie png pulseaudio qemu qt4 qt5 readline scrypt sddm sdl seccomp session sockets sqlite sqlite3 sse sse2 sse4_2 ssh-askpass ssl ssp system-icu system-libvpx system-sqlite tcpd threads tls truetype uml unicode urandom usb video vorbis webkit widgets wxwidgets x264 xa xattr xkb xmlreader xmp xtpax xvfb xvmc xz zenmap 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Toralf Förster gentoo-dev 2015-09-26 15:32:37 UTC
Created attachment 412980 [details]
dev-util:cmake-3.2.2:20150926-144131.log
Comment 2 Toralf Förster gentoo-dev 2015-09-26 15:32:39 UTC
Created attachment 412982 [details]
emerge-history.txt
Comment 3 Michael Palimaka (kensington) gentoo-dev 2015-09-29 18:03:02 UTC
Is dev-util/ninja installed? I didn't see it in emerge-history.
Comment 4 Toralf Förster gentoo-dev 2015-09-29 20:42:43 UTC
Well, ninja was not installed although selected in the make.cofn :

$ qlop --gauge --human --list --unlist -f amd64-hardened-stable_20150926-114500/var/log/emerge.log  | grep ninja
Mon Sep 28 08:08:29 2015 >>> app-backup/backupninja-1.0.1
Tue Sep 29 20:38:06 2015 >>> net-irc/ninja-1.5.9_pre14

$ grep -i ninja amd64-hardened-stable_20150926-114500/etc/portage/make.conf
CMAKE_MAKEFILE_GENERATOR="ninja"


This is another example where ninja wasn#t pulled in by the eclass - but it should be, or ? 

/me added this to the blocker list
Comment 5 Michael Palimaka (kensington) gentoo-dev 2015-10-08 15:41:57 UTC
It should be pulled in automatically by the eclass.
Comment 6 Toralf Förster gentoo-dev 2015-10-08 17:11:33 UTC
(In reply to Michael Palimaka (kensington) from comment #5)
> It should be pulled in automatically by the eclass.

Yes, therefore I filed this bug b/c it is now the 2nd or 3rd time were this did not happen (And I'm still convinced, that neither the setup script [1] nor the tinderbox script [2] is the root cause)

[1]  http://www.zwiebeltoralf.de/tinderbox/scripts/tbs.sh
[2]  http://www.zwiebeltoralf.de/tinderbox/scripts/job.sh
Comment 7 Michael Palimaka (kensington) gentoo-dev 2015-10-10 17:25:04 UTC
*** Bug 558214 has been marked as a duplicate of this bug. ***
Comment 8 Michael Palimaka (kensington) gentoo-dev 2015-10-15 11:06:01 UTC
*** Bug 562002 has been marked as a duplicate of this bug. ***
Comment 9 Michael Palimaka (kensington) gentoo-dev 2015-10-17 17:24:52 UTC
Thanks, fixed in git.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e9cd2c48c36ac18a3b50ab09e1ced545260d4b30
Comment 10 Mike Gilbert gentoo-dev 2022-06-21 14:57:02 UTC
(In reply to Toralf Förster from comment #4)
> Well, ninja was not installed although selected in the make.cofn :

Setting CMAKE_MAKEFILE_GENERATOR in make.conf violates the metadata invariance rule from PMS.

For that reason, setting CMAKE_MAKEFILE_GENERATOR in make.conf is not officially supported, and users cannot expect Portage to install the necessary dependencies in that case.

Technically speaking: Portage caches the value of DEPEND/BDEPEND in the metadata cache, and uses this to speed up dependency calculations. This cache does not get updated in response to variables set in make.conf.