Bug#1113554: swiftlang: FTBFS with CMake 4

roehling at debian.org roehling at debian.org
Mon Sep 1 00:05:34 BST 2025


Source: swiftlang
Version: 6.0.3-2
Severity: serious
User: cmake at packages.debian.org
Usertags: cmake-4
Tags: ftbfs, forky, sid

Dear maintainer,

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

Log Summary:
-------------------------------------------------------------------------------
[...]
-- Configuring done (5.8s)
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CLANG_VERSION_MAJOR
    CLANG_VERSION_MINOR
    CLANG_VERSION_PATCH
    CMAKE_CXX_COMPILER
    CMAKE_LIBTOOL
    CMAKE_SWIFT_COMPILER
    SWIFTSYNTAX_ENABLE_ASSERTIONS
    SWIFT_BUILD_SWIFT_SYNTAX
    SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE


-- Build files have been written to: /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/xctest-linux-aarch64
+ popd
/build/reproducible-path/swiftlang-6.0.3
+ /usr/bin/cmake --build /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/xctest-linux-aarch64 -- -j8 all
[1/1][100%][12.179s] Linking Swift shared library libXCTest.so
/build/reproducible-path/swiftlang-6.0.3/swift-corelibs-xctest/Sources/XCTest/Public/Asynchronous/XCTNSNotificationExpectation.swift:16:12: warning: class 'XCTNSNotificationExpectation' must restate inherited '@unchecked Sendable' conformance
 14 | 
 15 | /// Expectation subclass for waiting on a condition defined by a Foundation Notification instance.
 16 | open class XCTNSNotificationExpectation: XCTestExpectation {
    |            `- warning: class 'XCTNSNotificationExpectation' must restate inherited '@unchecked Sendable' conformance
 17 | 
 18 |     /// A closure to be invoked when a notification specified by the expectation is observed.

/build/reproducible-path/swiftlang-6.0.3/swift-corelibs-xctest/Sources/XCTest/Public/Asynchronous/XCTNSPredicateExpectation.swift:16:12: warning: class 'XCTNSPredicateExpectation' must restate inherited '@unchecked Sendable' conformance
 14 | 
 15 | /// Expectation subclass for waiting on a condition defined by an NSPredicate and an optional object.
 16 | open class XCTNSPredicateExpectation: XCTestExpectation {
    |            `- warning: class 'XCTNSPredicateExpectation' must restate inherited '@unchecked Sendable' conformance
 17 | 
 18 |     /// A closure to be invoked whenever evaluating the predicate against the object returns true.

/build/reproducible-path/swiftlang-6.0.3/swift-corelibs-xctest/Sources/XCTest/Public/Asynchronous/XCTNSPredicateExpectation.swift:102:26: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |         runLoop.add(timer, forMode: .default)
101 |         queue.async {
102 |             self.timer = timer
    |                          `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
103 |         }
104 |     }

/build/reproducible-path/swiftlang-6.0.3/swift-corelibs-foundation/Sources/Foundation/Timer.swift:21:12: note: class 'Timer' does not conform to the 'Sendable' protocol
 19 | extension Timer : @unchecked Sendable { }
 20 | 
 21 | open class Timer : NSObject {
    |            `- note: class 'Timer' does not conform to the 'Sendable' protocol
 22 |     internal final var _cfObject: CFRunLoopTimer {
 23 |         get {
Cleaning the llbuild build directory
+ rm -rf /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64
+ mkdir -p /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64
+ mkdir -p /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64/.cmake/api/v1/query
+ touch /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64/.cmake/api/v1/query/codemodel-v2 /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64/.cmake/api/v1/query/cache-v2
+ pushd /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64
/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64 /build/reproducible-path/swiftlang-6.0.3
+ env /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/usr/bin/clang++ -DCMAKE_Swift_COMPILER:PATH=/usr/bin/swiftc -DCMAKE_LIBTOOL:PATH= -DCMAKE_AR:PATH=/usr/bin/ar -DCMAKE_RANLIB:PATH=/usr/bin/ranlib -DLLVM_VERSION_MAJOR:STRING=17 -DLLVM_VERSION_MINOR:STRING=0 -DLLVM_VERSION_PATCH:STRING=0 -DCLANG_VERSION_MAJOR:STRING=17 -DCLANG_VERSION_MINOR:STRING=0 -DCLANG_VERSION_PATCH:STRING=0 -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llvm-linux-aarch64/bin/clang -DCMAKE_CXX_COMPILER:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llvm-linux-aarch64/bin/clang++ -DCMAKE_INSTALL_PREFIX:PATH=/usr/ -DCMAKE_Swift_COMPILER:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/swift-linux-aarch64/bin/swiftc '-DCMAKE_Swift_FLAGS:STRING=  -module-cache-path "/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llbuild-linux-aarch64/module-cache" ' -DLLBUILD_ENABLE_ASSERTIONS:BOOL=TRUE -DLLBUILD_SUPPORT_BINDINGS:=Swift -DLIT_EXECUTABLE:PATH=/build/reproducible-path/swiftlang-6.0.3/llvm-project/llvm/utils/lit/lit.py -DFILECHECK_EXECUTABLE:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llvm-linux-aarch64/bin/FileCheck -DSWIFTC_EXECUTABLE:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/swift-linux-aarch64/bin/swiftc -DFOUNDATION_BUILD_DIR:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/foundation-linux-aarch64 -DLIBDISPATCH_BUILD_DIR:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/libdispatch-linux-aarch64 -DLIBDISPATCH_SOURCE_DIR:PATH=/build/reproducible-path/swiftlang-6.0.3/swift-corelibs-libdispatch -Ddispatch_DIR:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/libdispatch-linux-aarch64/cmake/modules -DFoundation_DIR:PATH=/build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/foundation-linux-aarch64/cmake/modules -USWIFT_DARWIN_SUPPORTED_ARCHS -DSWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE:PATH=/build/reproducible-path/swiftlang-6.0.3/swift-syntax -DSWIFT_BUILD_SWIFT_SYNTAX:BOOL=TRUE -DSWIFTSYNTAX_ENABLE_ASSERTIONS:BOOL=TRUE /build/reproducible-path/swiftlang-6.0.3/llbuild
-- The CXX compiler identification is Clang 17.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llvm-linux-aarch64/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found SQLite3: /usr/lib/aarch64-linux-gnu/libsqlite3.so (found version "3.46.1")
-- Found Lit: /build/reproducible-path/swiftlang-6.0.3/llvm-project/llvm/utils/lit/lit.py
-- Found FileCheck: /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/llvm-linux-aarch64/bin/FileCheck
CMake Warning (dev) at CMakeLists.txt:91 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PythonInterp: /build/reproducible-path/swiftlang-6.0.3/binforpython/python (found version "3.13.7")
-- Performing Test CXX_SUPPORTS_UNREACHABLE_CODE_FLAG
-- Performing Test CXX_SUPPORTS_UNREACHABLE_CODE_FLAG - Failed
-- The Swift compiler identification is Apple 6.0.3
-- Check for working Swift compiler: /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/swift-linux-aarch64/bin/swiftc
-- Check for working Swift compiler: /build/reproducible-path/swiftlang-6.0.3/build/buildbot_linux/swift-linux-aarch64/bin/swiftc - works
-- Found Python: /build/reproducible-path/swiftlang-6.0.3/binforpython/python (found version "3.13.7") found components: Interpreter
CMake Error at tests/CMakeLists.txt:50 (cmake_policy):
  Policy CMP0037 may not be set to OLD behavior because this version of CMake
  no longer supports it.  The policy was introduced in CMake version 3.0.0,
  and use of NEW behavior is now required.

  Please either update your CMakeLists.txt files to conform to the new
  behavior or use an older version of CMake that still supports the old
  behavior.  Run cmake --help-policy CMP0037 for more information.


-- Configuring incomplete, errors occurred!
make[1]: *** [debian/rules:42: override_dh_auto_build] Error 1
make[1]: Leaving directory '/build/reproducible-path/swiftlang-6.0.3'
make: *** [debian/rules:33: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-08-31T00:28:05Z

-------------------------------------------------------------------------------

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

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

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



More information about the Pkg-llvm-team mailing list