#1113542 srt: FTBFS with CMake 4

Package:
src:srt
Source:
src:srt
Submitter:
Date:
2025-09-01 14:39:03 UTC
Severity:
normal
Tags:
#1113542#5
Date:
2025-08-31 23:05:21 UTC
From:
To:
Dear maintainer,

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

Log Summary:
-------------------------------------------------------------------------------
[...]
LOGNAME=sbuild
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SHELL=/bin/sh
USER=sbuild

dpkg-buildpackage
-----------------

Command: dpkg-buildpackage --sanitize-env -us -uc -b
dpkg-buildpackage: info: source package srt
dpkg-buildpackage: info: source version 1.5.4-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Florian Ernst <florian@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
 debian/rules clean
dh clean --buildsystem=cmake+makefile
   dh_auto_clean -O--buildsystem=cmake\+makefile
   dh_autoreconf_clean -O--buildsystem=cmake\+makefile
   dh_clean -O--buildsystem=cmake\+makefile
	rm -f debian/debhelper-build-stamp
	rm -rf debian/.debhelper/
	rm -f -- debian/libsrt1.5-openssl.substvars debian/libsrt1.5-gnutls.substvars debian/libsrt-openssl-dev.substvars debian/libsrt-gnutls-dev.substvars debian/libsrt-doc.substvars debian/srt-tools.substvars debian/files
	rm -fr -- debian/libsrt1.5-openssl/ debian/tmp/ debian/libsrt1.5-gnutls/ debian/libsrt-openssl-dev/ debian/libsrt-gnutls-dev/ debian/libsrt-doc/ debian/srt-tools/
	find .  \( \( \
		\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
	        \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
		 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
		 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
		 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
		\) -exec rm -f {} + \) -o \
		\( -type d -a \( -name autom4te.cache -o -name __pycache__ \) -prune -exec rm -rf {} + \) \)
 debian/rules binary
dh binary --buildsystem=cmake+makefile --with=sphinxdoc
   debian/rules build
make[1]: Entering directory '/build/reproducible-path/srt-1.5.4'
dh build --buildsystem=cmake+makefile --with=sphinxdoc
   dh_update_autotools_config -O--buildsystem=cmake\+makefile
   dh_autoreconf -O--buildsystem=cmake\+makefile
   debian/rules override_dh_auto_configure-arch
make[2]: Entering directory '/build/reproducible-path/srt-1.5.4'
dh_auto_configure --builddirectory=build-openssl -- -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DENABLE_SHOW_PROJECT_CONFIG=ON -DENABLE_UNITTESTS=ON  -DUSE_ENCLIB=openssl
	cd build-openssl && 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 -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DENABLE_SHOW_PROJECT_CONFIG=ON -DENABLE_UNITTESTS=ON -DUSE_ENCLIB=openssl ..
CMake Error at CMakeLists.txt:10 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.

  Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-------------------------------------------------------------------------------

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/2411789/

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/154938/

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

#1113542#12
Date:
2025-09-01 11:52:35 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