Package: src:cmake Version: 3.16.3-2 Severity: important Tags: upstream Control: clone -1 -2 Control: reassign -2 debhelper Control: retitle -2 debhelper: Do not set CMAKE_AUTOGEN_VERBOSE=NO Control: severity -2 normal Control: found -2 12.10 Control: found -2 13 Control: affects -1 debhelper
Dear maintainers, CMake compiles /usr/share/cmake-*/Modules/CMakeCXXCompilerABI.cpp during the build of a C++ projects, several times, and ignoring the CXXFLAGS. This behaviour is likely defined in /usr/share/cmake-*/Modules/{CMakeTestCXXCompiler,Compiler/{Intel,GNU,QCC}}.cmake In addition to being a (presumably benign?) correctness issue, this is about to become a notable inconvenience for maintainers of C++ packages in Debian whose buildsystem is CMake: - starting in debhelper 12.10 (uploaded 2020-03-24), CMAKE_AUTOGEN_VERBOSE=ON is set by default for all packages that use CMake ; - CMake then logs the compiler invocations for CMakeCXXCompilerABI.cpp; - blhc (build log hardening checker) raises (correctly so) an error, as C++ code was built without the required flags. - the blhc failure is surfaced to the maintainer in many places: Salsa CI, tracker.d.o, qa.d.o, ... After discussion with nthykier, he suggested rolling back the change in dh (commit 2f88a603001a32b596389b8b031489960e30a9e9) until this issue is fixed in CMake. As such I am leaving a copy of this bug report against dh. Many thanks to Andreas Noteng, whose package scantailor-advanced (which I am sponsoring) is where I first encountered the issue, and who bissected the problem down to that specific commit in debhelper. Best, nicoo -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.5.0-2-amd64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages cmake depends on: ii cmake-data 3.16.3-2 ii libarchive13 3.4.0-2 ii libc6 2.30-4 ii libcurl4 7.68.0-1 ii libexpat1 2.2.9-1 ii libgcc-s1 10-20200418-1 ii libjsoncpp1 1.7.4-3.1 ii librhash0 1.3.9-1 ii libstdc++6 10-20200418-1 ii libuv1 1.35.0-2 ii procps 2:3.3.16-4 ii zlib1g 1:1.2.11.dfsg-2 Versions of packages cmake recommends: ii gcc 4:9.2.1-3.1 ii make 4.2.1-1.2 Versions of packages cmake suggests: pn cmake-doc <none> ii ninja-build 1.10.0-1 -- no debconf information