#1113419 portmidi: FTBFS with CMake 4

#1113419#5
Date:
2025-08-31 23:03:02 UTC
From:
To:
Dear maintainer,

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

Log Summary:
-------------------------------------------------------------------------------
[...]
PUnQFw75sYcn80wTJerSXumr7weHMFiCW2o3oGaFrpP9ZmhgJyfq9H/jCI9pRP/i
zXaXBih9Ezi3LZZPbsIstfqYsNLl43kBDMl8ktRfB0ykvDGYs2WkP9avKTJF+/Ci
34poAnHIPh/pFNOZ1uxdfKtb86SRjh20I+8vIE9wq1HLw+O46e/7eDXM1JOaiInB
jjFFkTd5Xfw5DDgTx7FxUPS8dL9bc5zbRFzWjgFtjIUBLc943Or6dWHPUqFE9nZk
bNrPgXzNWUlgc8pTUKlAZ7WFNtpO2OeqcfTyIcKEEoukpWbOQHgjLXNf/Gpa1CDT
sukg4ySG/avY5+rvlAV/lhK4AyI7qhgTZQBRKkorNe/2iktbybSA8ydYsCJCfZ13
rXyRrqp8i6I+rpd06K/Zy+uIziB9lZfqZf34JNhYHajRIdQwhOjS3O5Oy0IxvYzb
dLDjSErDbDP6WZlHaMpN9AiVrFs3OC6qOx8zeTz3AxpWFfKGh5I=
=Tz4G
-----END PGP SIGNATURE-----

dpkg-source: warning: cannot verify inline signature for ./portmidi_217-6.1.dsc: no acceptable signature found
dpkg-source: info: extracting portmidi in /build/reproducible-path/portmidi-217
dpkg-source: info: unpacking portmidi_217.orig.tar.gz
dpkg-source: info: unpacking portmidi_217-6.1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying 00_cmake.diff
dpkg-source: info: applying 02_pmlinuxalsa.diff
dpkg-source: info: applying 03_pm_test_Makefile.diff
dpkg-source: info: applying 11-pmlinuxalsa.patch
dpkg-source: info: applying 13-disablejni.patch
dpkg-source: info: applying 20-movetest.diff
dpkg-source: info: applying 21-hardentests.diff
dpkg-source: info: applying 30-porttime_cmake.diff
dpkg-source: info: applying 40-test_sysex.diff
dpkg-source: info: applying 41-pm_linux.diff
dpkg-source: info: applying 50-change_assert.diff
dpkg-source: info: applying 51-remove_assert.diff

Check disk space
----------------

Sufficient free space for build

User Environment
----------------

APT_CONFIG=/var/lib/sbuild/apt.conf
HOME=/sbuild-nonexistent
LANG=C.UTF-8
LC_ALL=C.UTF-8
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 portmidi
dpkg-buildpackage: info: source version 1:217-6.1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Holger Levsen <holger@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
 debian/rules clean
dh clean --parallel --buildsystem=cmake
dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/build/reproducible-path/portmidi-217'
dh_auto_clean
dh_auto_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
rm -rf build/
make[1]: Leaving directory '/build/reproducible-path/portmidi-217'
   dh_clean -O--parallel -O--buildsystem=cmake
dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
 debian/rules binary
dh binary --parallel --buildsystem=cmake
dh: warning: Compatibility levels before 10 are deprecated (level 9 in use)
   dh_update_autotools_config -O--parallel -O--buildsystem=cmake
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/build/reproducible-path/portmidi-217'
dh_auto_configure -- \
 -DCMAKE_BUILD_TYPE="Release" \
 -DCMAKE_INSTALL_LIBDIR=/usr/lib/aarch64-linux-gnu \
 -DCMAKE_CACHEFILE_DIR=/build/reproducible-path/portmidi-217/build
dh_auto_configure: warning: Compatibility levels before 10 are deprecated (level 9 in use)
	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 "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/aarch64-linux-gnu -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LIBDIR=/usr/lib/aarch64-linux-gnu -DCMAKE_CACHEFILE_DIR=/build/reproducible-path/portmidi-217/build ..
CMake Error at CMakeLists.txt:5 (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/2407665/

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

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

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