#1113294 monero: FTBFS with CMake 4

#1113294#5
Date:
2025-08-31 23:00:44 UTC
From:
To:
Dear maintainer,

During a test rebuild for CMake 4, monero failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_NONE
CMAKE_EXE_LINKER_FLAGS_NONE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/build/reproducible-path/monero-0.18.4.0+~0+20200826
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//Name of CMakeLists files to read
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_NONE
CMAKE_MODULE_LINKER_FLAGS_NONE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-4.1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_NONE
CMAKE_SHARED_LINKER_FLAGS_NONE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_NONE
CMAKE_STATIC_LINKER_FLAGS_NONE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_TAPI
CMAKE_TAPI-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Details about finding PythonInterp
FIND_PACKAGE_MESSAGE_DETAILS_PythonInterp:INTERNAL=[/usr/bin/python3][v3.13.7()]
//ADVANCED property for variable: PYTHON_EXECUTABLE
PYTHON_EXECUTABLE-ADVANCED:INTERNAL=1
//Result of TRY_COMPILE
SUCCESS:INTERNAL=FALSE

	cd obj-aarch64-linux-gnu && tail -v -n \+0 CMakeFiles/CMakeOutput.log
==> CMakeFiles/CMakeOutput.log <==
Determining if the -Wl,--no-undefined linker flag is supported passed with the following output:
Change Dir: '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'

Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6c2b9/fast
gmake[2]: Entering directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'
/usr/bin/gmake  -f CMakeFiles/cmTC_6c2b9.dir/build.make CMakeFiles/cmTC_6c2b9.dir/build
gmake[3]: Entering directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_6c2b9.dir/CheckLinkerFlag.c.o
/usr/bin/cc   -Wl,--no-undefined    -Wl,--no-undefined -o CMakeFiles/cmTC_6c2b9.dir/CheckLinkerFlag.c.o -c "/build/reproducible-path/monero-0.18.4.0+~0+20200826/cmake/CheckLinkerFlag.c"
Linking C executable cmTC_6c2b9
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6c2b9.dir/link.txt --verbose=1
/usr/bin/cc -Wl,--no-undefined  -Wl,-z,relro  CMakeFiles/cmTC_6c2b9.dir/CheckLinkerFlag.c.o -o cmTC_6c2b9
gmake[3]: Leaving directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'
gmake[2]: Leaving directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'



Determining if the -Wl,-undefined,error linker flag is supported passed with the following output:
Change Dir: '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'

Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_25951/fast
gmake[2]: Entering directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'
/usr/bin/gmake  -f CMakeFiles/cmTC_25951.dir/build.make CMakeFiles/cmTC_25951.dir/build
gmake[3]: Entering directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_25951.dir/CheckLinkerFlag.c.o
/usr/bin/cc   -Wl,-undefined,error    -Wl,-undefined,error -o CMakeFiles/cmTC_25951.dir/CheckLinkerFlag.c.o -c "/build/reproducible-path/monero-0.18.4.0+~0+20200826/cmake/CheckLinkerFlag.c"
Linking C executable cmTC_25951
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_25951.dir/link.txt --verbose=1
/usr/bin/cc -Wl,-undefined,error  -Wl,-z,relro  CMakeFiles/cmTC_25951.dir/CheckLinkerFlag.c.o -o cmTC_25951
gmake[3]: Leaving directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'
gmake[2]: Leaving directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826/obj-aarch64-linux-gnu/CMakeFiles/CMakeTmp'



dh_auto_configure: error: cd obj-aarch64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb PKG_CONFIG=/usr/bin/pkg-config cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/aarch64-linux-gnu -DARCH=default -DNO_AES=ON -DBUILD_TESTS=ON -DPYTHON_EXECUTABLE=/usr/bin/python3 -DMANUAL_SUBMODULES=1 .. returned exit code 1
make[1]: *** [debian/rules:73: override_dh_auto_configure] Error 2
make[1]: Leaving directory '/build/reproducible-path/monero-0.18.4.0+~0+20200826'
make: *** [debian/rules:55: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-08-30T08:12:42Z
-------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/2404445/

The most likely cause of build failures is the removed backwards compatibility for
CMake versions earlier than 3.5. You can find additional information in my
debian-devel announcement:

https://lists.debian.org/debian-devel/2025/04/msg00310.html

About the archive rebuild: The build was made on debusine.debian.net,
using sbuild.

You can find the build task here:
https://debusine.debian.net/work-request/154144/

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks,
Timo

#1113294#12
Date:
2025-09-01 11:52:09 UTC
From:
To:
I have downgraded the bug to non-RC severity temporarily and reverted
CMake in unstable to version 3.31.6. I plan to re-upgrade in about a
month's time. I realize that despite my April announcement, the upload
to unstable came rather surprising, and I don't want to cause
unnecessary pain.

Also, the build log URL has an unfortunate mistake. The correct URL
should include the workspace, i.e.,

https://debusine.debian.net/debian/developers/artifact/XXXX

CMake 4 will also be available in experimental again, so it can be
used to verify that the bug is fixed.

Cheers
Timo

#1113294#17
Date:
2025-09-02 11:10:11 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
monero, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1113294@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Bastian Germann <bage@debian.org> (supplier of updated monero package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 02 Sep 2025 12:19:22 +0200
Source: monero
Architecture: source
Version: 0.18.4.2+~0+20200826-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Cryptocoin Team <team+cryptocoin@tracker.debian.org>
Changed-By: Bastian Germann <bage@debian.org>
Closes: 1113294
Changes:
 monero (0.18.4.2+~0+20200826-1) unstable; urgency=medium
 .
   * New upstream version 0.18.4.2 (Closes: #1113294)
Checksums-Sha1:
 60b7da2ecb7e9fd439530560fe4a3f53fc2d74d9 2827 monero_0.18.4.2+~0+20200826-1.dsc
 597195e37fa2f76f5a30623f8a9d7849b9bf003a 337678 monero_0.18.4.2+~0+20200826.orig-Xsupercop.tar.gz
 23f9647806de7d278e39c2dd1beaaa55a06f0539 14096404 monero_0.18.4.2+~0+20200826.orig.tar.gz
 f7c33df0494be289135961674b4b4d948bde4698 13276 monero_0.18.4.2+~0+20200826-1.debian.tar.xz
 48881dde33e64c7b4f09801d1c83ef982935fe5d 9200 monero_0.18.4.2+~0+20200826-1_source.buildinfo
Checksums-Sha256:
 44470e01f412178e379f4d14d0fd7fadd39d5b397f6f328044e4095a60571e03 2827 monero_0.18.4.2+~0+20200826-1.dsc
 3916443dbcb26e58c5ff975b174b4d17044bd52555663707db9fcc3da41bb837 337678 monero_0.18.4.2+~0+20200826.orig-Xsupercop.tar.gz
 c737fa9abace44108ad77cda9342f0254dd30de53f92b8ad94ca933dec58ecfd 14096404 monero_0.18.4.2+~0+20200826.orig.tar.gz
 be410144baa2f1f0efde488399c9c0afdbe40254062a717608a643e757e2a073 13276 monero_0.18.4.2+~0+20200826-1.debian.tar.xz
 67e334a4c7647daa70133211862392df880ccf7236c2656567fa9a8e5bb5c0ee 9200 monero_0.18.4.2+~0+20200826-1_source.buildinfo
Files:
 71eab8eb70e4292378b853d6e8c5cd16 2827 utils optional monero_0.18.4.2+~0+20200826-1.dsc
 a3d8f46d5638ff39f3fe1068ea9d537a 337678 utils optional monero_0.18.4.2+~0+20200826.orig-Xsupercop.tar.gz
 ae9e91160f222802a6aa3b2cbb1d2f18 14096404 utils optional monero_0.18.4.2+~0+20200826.orig.tar.gz
 2b0f45bca9a431b3c5320e8f7f856d39 13276 utils optional monero_0.18.4.2+~0+20200826-1.debian.tar.xz
 4b722791fd3619d4edbaaa9ea66b8523 9200 utils optional monero_0.18.4.2+~0+20200826-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmi2xS0QHGJhZ2VAZGVi
aWFuLm9yZwAKCRAfXHqLRVZDFActC/0XF0icot/Il0wSIgClPTMbVU9lZnfVOxYe
Tf5MOtAdmtYIgY3fEu8nGcuZG3QJ6Pm+duxpmIWbihHlK8Xa5ZiDFmd9KHLeXQmp
5UE0JAFmvqIUc4oJJWjn6pXHG7FdpXOMnT1VbP5TNDFd2BcbyOIUO3xAa/LUnU5c
HBUhzEgdvrLNzySqHmHResU2cp6w/JCdhpQqnhXmrAvudXcRi3hEIoiKUv04scJy
t+tYnTUjrEPgWToYvioGUkGgZlIE4QQrkh0L20gZZddo8NtRSbAgPQdIfwOfepTh
Gaep5HzEokbTXfQqeCkBuied9LJOfrxI2swCUmiEp3orarQ+kGvGUApeN105T6Lq
kz7U5icM+VhGO/rHc1SI31N+0Cjx35QTkKR+TXaJO0VmtKzzxAbBUQj2rKFkA8YQ
6rts+j3sxU1PAYtJeX9J/kslB5agYsRh6LkasEgyrxlc4kuJZdxf7SKSlMXY+QB4
XqCsNZiVGSPjqKldAoxTjWR14dSLs6s=
=Xs6I
-----END PGP SIGNATURE-----