#1112782 clamav: FTBFS with CMake 4

#1112782#5
Date:
2025-08-31 22:37:02 UTC
From:
To:
Dear maintainer,

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

Log Summary:
-------------------------------------------------------------------------------
[...]

/build/reproducible-path/clamav-1.4.3+dfsg/unit_tests/freshclam_test.py:273: AssertionError
----------------------------- Captured stdout call -----------------------------

[INFO]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO]:      Verify correct behavior when receiving 429 (too-many-requests)
[INFO]: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DEBUG]: Run command:   /build/reproducible-path/clamav-1.4.3+dfsg/obj-aarch64-linux-gnu/freshclam/freshclam --no-dns --config-file=/build/reproducible-path/clamav-1.4.3+dfsg/obj-aarch64-linux-gnu/unit_tests/TC-_yizvlp9/freshclam-test.conf --update-db=daily
[DEBUG]: Exit code: 11
[DEBUG]: stdout: Fri Aug 29 15:42:33 2025 -> Current working dir is /build/reproducible-path/clamav-1.4.3+dfsg/obj-aarch64-linux-gnu/unit_tests/TC-_yizvlp9/database/
Fri Aug 29 15:42:33 2025 -> Can't open freshclam.dat in /build/reproducible-path/clamav-1.4.3+dfsg/obj-aarch64-linux-gnu/unit_tests/TC-_yizvlp9/database
Fri Aug 29 15:42:33 2025 -> It probably doesn't exist yet. That's ok.
Fri Aug 29 15:42:33 2025 -> Failed to load freshclam.dat; will create a new freshclam.dat
Fri Aug 29 15:42:33 2025 -> Creating new freshclam.dat
Fri Aug 29 15:42:33 2025 -> Saved freshclam.dat
Fri Aug 29 15:42:33 2025 -> ClamAV update process started at Fri Aug 29 15:42:33 2025
Fri Aug 29 15:42:33 2025 -> Current working dir is /build/reproducible-path/clamav-1.4.3+dfsg/obj-aarch64-linux-gnu/unit_tests/TC-_yizvlp9/database/
Fri Aug 29 15:42:33 2025 -> check_for_new_database_version: No local copy of "daily" database.
Fri Aug 29 15:42:33 2025 -> Trying to retrieve CVD header from http://localhost:8001/daily.cvd
* Host localhost:8001 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:8001...
* connect to ::1 port 8001 from ::1 port 57958 failed: Connection refused
*   Trying 127.0.0.1:8001...
* connect to 127.0.0.1 port 8001 from 127.0.0.1 port 48706 failed: Connection refused
* Failed to connect to localhost port 8001 after 0 ms: Could not connect to server
* closing connection #0
Fri Aug 29 15:42:33 2025 -> updatedb: daily database update failed.
Fri Aug 29 15:42:33 2025 -> Trying again in 5 secs...
Fri Aug 29 15:42:38 2025 -> check_for_new_database_version: No local copy of "daily" database.
Fri Aug 29 15:42:38 2025 -> Trying to retrieve CVD header from http://localhost:8001/daily.cvd
* Host localhost:8001 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:8001...
* connect to ::1 port 8001 from ::1 port 37654 failed: Connection refused
*   Trying 127.0.0.1:8001...
* connect to 127.0.0.1 port 8001 from 127.0.0.1 port 58284 failed: Connection refused
* Failed to connect to localhost port 8001 after 0 ms: Could not connect to server
* closing connection #0
Fri Aug 29 15:42:38 2025 -> updatedb: daily database update failed.
Fri Aug 29 15:42:38 2025 -> Trying again in 5 secs...
Fri Aug 29 15:42:43 2025 -> check_for_new_database_version: No local copy of "daily" database.
Fri Aug 29 15:42:43 2025 -> Trying to retrieve CVD header from http://localhost:8001/daily.cvd
* Host localhost:8001 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:8001...
* connect to ::1 port 8001 from ::1 port 37664 failed: Connection refused
*   Trying 127.0.0.1:8001...
* connect to 127.0.0.1 port 8001 from 127.0.0.1 port 58288 failed: Connection refused
* Failed to connect to localhost port 8001 after 0 ms: Could not connect to server
* closing connection #0
Fri Aug 29 15:42:43 2025 -> updatedb: daily database update failed.
Fri Aug 29 15:42:43 2025 -> Giving up on http://localhost:8001...

[DEBUG]: stderr: WARNING: Fri Aug 29 15:42:33 2025 -> DNS Update Info disabled. Falling back to HTTP mode.
WARNING: Fri Aug 29 15:42:33 2025 -> remote_cvdhead: Download failed (7) WARNING: Fri Aug 29 15:42:33 2025 ->  Message: Could not connect to server
WARNING: Fri Aug 29 15:42:33 2025 -> Failed to get daily database version information from server: http://localhost:8001
ERROR: Fri Aug 29 15:42:33 2025 -> check_for_new_database_version: Failed to find daily database using server http://localhost:8001.
WARNING: Fri Aug 29 15:42:38 2025 -> remote_cvdhead: Download failed (7) WARNING: Fri Aug 29 15:42:38 2025 ->  Message: Could not connect to server
WARNING: Fri Aug 29 15:42:38 2025 -> Failed to get daily database version information from server: http://localhost:8001
ERROR: Fri Aug 29 15:42:38 2025 -> check_for_new_database_version: Failed to find daily database using server http://localhost:8001.
ERROR: Fri Aug 29 15:42:43 2025 -> remote_cvdhead: Download failed (7) ERROR: Fri Aug 29 15:42:43 2025 ->  Message: Could not connect to server
WARNING: Fri Aug 29 15:42:43 2025 -> Failed to get daily database version information from server: http://localhost:8001
ERROR: Fri Aug 29 15:42:43 2025 -> check_for_new_database_version: Failed to find daily database using server http://localhost:8001.
ERROR: Fri Aug 29 15:42:43 2025 -> Update failed for database: daily
ERROR: Fri Aug 29 15:42:43 2025 -> Database update process failed: HTTP GET failed
ERROR: Fri Aug 29 15:42:43 2025 -> Update failed.
----------------------------- Captured stderr call -----------------------------
Process Process-3:
Traceback (most recent call last):
  File "/usr/lib/python3.13/multiprocessing/process.py", line 313, in _bootstrap
    self.run()
    ~~~~~~~~^^
  File "/usr/lib/python3.13/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/clamav-1.4.3+dfsg/unit_tests/freshclam_test.py", line 775, in mock_database_mirror
    server = HTTPServer(('', port), handler)
  File "/usr/lib/python3.13/socketserver.py", line 457, in __init__
    self.server_bind()
    ~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/socketserver.py", line 478, in server_bind
    self.socket.bind(self.server_address)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 98] Address already in use
=========================== short test summary info ============================
FAILED freshclam_test.py::TC::test_freshclam_04_http_429 - assert 11 == 0
=================== 1 failed, 9 passed, 1 skipped in 26.76s ====================


83% tests passed, 1 tests failed out of 6

Total Test time (real) =  39.70 sec

The following tests FAILED:
	  5 - freshclam (Failed)
Errors while running CTest
make[2]: *** [Makefile:94: test] Error 8
make[2]: Leaving directory '/build/reproducible-path/clamav-1.4.3+dfsg/obj-aarch64-linux-gnu'
dh_auto_test: error: cd obj-aarch64-linux-gnu && make -j4 test ARGS\+=--verbose ARGS\+=-j4 returned exit code 2
make[1]: *** [debian/rules:139: override_dh_auto_test-arch] Error 25
make[1]: Leaving directory '/build/reproducible-path/clamav-1.4.3+dfsg'
make: *** [debian/rules:55: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-08-29T15:43:00Z
------------------------------------------------------------------------------- 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/2390403/ 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/152568/ 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
#1112782#16
Date:
2025-09-01 11:51:14 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

#1112782#21
Date:
2025-09-06 14:46:04 UTC
From:
To:
On 2025-09-01 00:37:02 [+0200], roehling@debian.org wrote:
.
…
…

I don't know what did happen here. The test failed for freshclam - it
built fine so far. It supposed to start freshclam which then fetches
files from a local web server. This failed. After the server was not up
yet or it went down for other reasons.

If you can reproduce it I could take a look. Otherwise I would just
close it since I can't reprocude it on an up-to-date sid with cmake 4.

Sebastian