output - could this be due to spaces in the path, in particular the volume?
Building Swift Driver dependency: TSC
Building Swift Driver dependency: Argument Parser
Building Swift Driver for target: arm64-apple-macosx10.15
CMake Error at /Volumes/Macintosh Data 2/Github/swift-project/build/Ninja-RelWithDebInfoAssert/earlyswiftdriver-macosx-arm64/release/dependencies/swift-argument-parser/cmake/modules/ArgumentParserConfig.cmake:2 (include):
include called with invalid argument:
2/Github/swift-project/build/Ninja-RelWithDebInfoAssert/earlyswiftdriver-macosx-arm64/release/dependencies/swift-argument-parser/cmake/modules/ArgumentParserExports.cmake
Call Stack (most recent call first):
CMakeLists.txt:54 (find_package)
CMake Error at /Volumes/Macintosh Data 2/Github/swift-project/build/Ninja-RelWithDebInfoAssert/earlyswiftdriver-macosx-arm64/release/dependencies/llbuild/cmake/modules/LLBuildConfig.cmake:1 (include):
include called with invalid argument:
2/Github/swift-project/build/Ninja-RelWithDebInfoAssert/earlyswiftdriver-macosx-arm64/release/dependencies/llbuild/cmake/modules/LLBuildExports.cmake
Call Stack (most recent call first):
CMakeLists.txt:63 (find_package)
CMake Error at /Volumes/Macintosh Data 2/Github/swift-project/build/Ninja-RelWithDebInfoAssert/earlyswiftdriver-macosx-arm64/release/dependencies/swift-tools-support-core/cmake/modules/TSCConfig.cmake:1 (include):
include called with invalid argument:
2/Github/swift-project/build/Ninja-RelWithDebInfoAssert/earlyswiftdriver-macosx-arm64/release/dependencies/swift-tools-support-core/cmake/modules/TSCExports.cmake
Call Stack (most recent call first):
CMakeLists.txt:77 (find_package)
error
Traceback (most recent call last):
File "/Volumes/Macintosh Data 2/Github/swift-project/swift-driver/Utilities/build-script-helper.py", line 667, in <module>
main()
~~~~^^
File "/Volumes/Macintosh Data 2/Github/swift-project/swift-driver/Utilities/build-script-helper.py", line 664, in main
handle_invocation(args)
~~~~~~~~~~~~~~~~~^^^^^^
File "/Volumes/Macintosh Data 2/Github/swift-project/swift-driver/Utilities/build-script-helper.py", line 188, in handle_invocation
build_using_cmake(args, toolchain_bin, args.build_path, targets)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Volumes/Macintosh Data 2/Github/swift-project/swift-driver/Utilities/build-script-helper.py", line 439, in build_using_cmake
build_llbuild_using_cmake(args, target, swiftc_exec, dependencies_dir,
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
base_cmake_flags, swift_flags)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Volumes/Macintosh Data 2/Github/swift-project/swift-driver/Utilities/build-script-helper.py", line 475, in build_llbuild_using_cmake
cmake_build(args, swiftc_exec, llbuild_cmake_flags, llbuild_swift_flags,
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
llbuild_source_dir, llbuild_build_dir, 'products/all')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Volumes/Macintosh Data 2/Github/swift-project/swift-driver/Utilities/build-script-helper.py", line 530, in cmake_build
subprocess.check_output(cmd, cwd=build_dir)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.2/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py", line 474, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**kwargs).stdout
^^^^^^^^^
File "/opt/homebrew/Cellar/python@3.13/3.13.2/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py", line 579, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
It is likely that not the whole error message is shown, and the rest of the logging output would be helpful for context. Only some subprocess failed, but are you sure that there's no other stderr/stdout output from this subprocess and its invocation with arguments itself that you could share?
I ran update-checkout prior to running build-script.
Using the following customized buildbot_incremental preset to remove testing from the apple_silicon version because testing kept hanging:
[preset: my_buildbot_incremental,tools=RA,stdlib=RA,apple_silicon]
# Set the vendor to apple
compiler-vendor=apple
# On buildbots, always force a reconfiguration to make sure we pick up changes
# in the build-script and build-presets.ini.
reconfigure
# We want to always perform a verbose build
verbose-build
build-subdir=buildbot_incremental
# Build Release without debug info, because it is faster to build.
release
assertions
enable-array-cow-checks
libcxx
lldb
# Build llbuild & swiftpm here
llbuild
swiftpm
swift-driver
indexstore-db
sourcekit-lsp
# Failing to build in CI: rdar://78408440
# swift-inspect
swiftsyntax
swiftformat
# swift-testing
# swift-testing-macros
# skstresstester
# Build Playground support
# playgroundsupport
install-llvm
install-lldb
# install-static-linux-config
install-swift
install-llbuild
install-swiftpm
install-swift-driver
install-swiftsyntax
install-swiftformat
# install-swift-testing
# install-swift-testing-macros
My CLI command:
cd ~/Developer/swift-project
./swift/utils/build-script --preset=my_buildbot_incremental,tools=RA,stdlib=RA,apple_silicon
Every time the build gets to SwiftPM, I get the following build output:
Lines 3235-3270 being the end output with Python error output since the gist preview isn't jumping to the correct place:
[---- END OUTPUT ----]
--- bootstrap | 2025-03-29 15:30:23,693 | DEBUG | MainThread | bootstrap | wrapper | Line:64 | Done call to call_swiftpm ...
--- bootstrap | 2025-03-29 15:30:23,693 | DEBUG | MainThread | bootstrap | wrapper | Line:64 | Done call to build_swiftpm_with_swiftpm ...
--- bootstrap | 2025-03-29 15:30:23,693 | DEBUG | MainThread | bootstrap | wrapper | Line:64 | Done call to build ...
--- bootstrap | 2025-03-29 15:30:23,693 | DEBUG | MainThread | bootstrap | wrapper | Line:64 | Done call to main ...
Traceback (most recent call last):
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 964, in <module>
main()
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 62, in wrapper
return func(*args, **kwargs)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 102, in main
args.func(args)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 62, in wrapper
return func(*args, **kwargs)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 447, in build
build_swiftpm_with_swiftpm(args,integrated_swift_driver=False)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 62, in wrapper
return func(*args, **kwargs)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 772, in build_swiftpm_with_swiftpm
call_swiftpm(args, swiftpm_args)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 62, in wrapper
return func(*args, **kwargs)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap", line 812, in call_swiftpm
call_output(full_cmd, cwd=cwd, stderr=True, verbose=True)
File "/Users/my/Developer/swift-project/swiftpm/Utilities/helpers.py", line 128, in call_output
raise cpe
File "/Users/my/Developer/swift-project/swiftpm/Utilities/helpers.py", line 101, in call_output
return subprocess.check_output(
File "/opt/homebrew/Cellar/python@3.9/3.9.21/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/opt/homebrew/Cellar/python@3.9/3.9.21/Frameworks/Python.framework/Versions/3.9/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['env', 'SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.2.sdk', 'SWIFTCI_USE_LOCAL_DEPS=1', 'SWIFTPM_MACOS_DEPLOYMENT_TARGET=15.2', 'DYLD_LIBRARY_PATH=/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/bootstrap/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/tsc/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/llbuild-macosx-arm64/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-argument-parser/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-crypto/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-driver/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-system/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-collections/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-asn1/lib:/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/swift-certificates/lib', 'SWIFTCI_DISABLE_SDK_DEPENDENT_TESTS=YES', 'SWIFT_EXEC=/Users/my/Developer/swift-project/build/buildbot_incremental/toolchain-macosx-arm64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc', 'SWIFT_DRIVER_SWIFT_EXEC=/Users/my/Developer/swift-project/build/buildbot_incremental/toolchain-macosx-arm64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc', 'CC=/Users/my/Developer/swift-project/build/buildbot_incremental/toolchain-macosx-arm64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang', 'SWIFTPM_CUSTOM_LIBS_DIR=/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/bootstrap/pm', '/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/arm64-apple-macosx/bootstrap/bin/swift-bootstrap', '--build-path', '/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64', '--configuration', 'release', '--very-verbose', '-Xswiftc', '-module-cache-path', '-Xswiftc', '/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/module-cache', '-Xbuild-tools-swiftc', '-module-cache-path', '-Xbuild-tools-swiftc', '/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64/module-cache']' returned non-zero exit status 1.
ERROR: command `['/Users/my/Developer/swift-project/swiftpm/Utilities/bootstrap', 'build', '--release', '--swiftc-path', '/Users/my/Developer/swift-project/build/buildbot_incremental/toolchain-macosx-arm64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc', '--clang-path', '/Users/my/Developer/swift-project/build/buildbot_incremental/toolchain-macosx-arm64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang', '--cmake-path', '/opt/homebrew/bin/cmake', '--ninja-path', '/opt/homebrew/bin/ninja', '--build-dir', '/Users/my/Developer/swift-project/build/buildbot_incremental/swiftpm-macosx-arm64', '--llbuild-build-dir', '/Users/my/Developer/swift-project/build/buildbot_incremental/llbuild-macosx-arm64', '--reconfigure', '--verbose']` terminated with a non-zero exit status 1, aborting
ERROR: command `['caffeinate', './swift/utils/build-script', '--compiler-vendor=apple', '--reconfigure', '--verbose-build', '--build-subdir=buildbot_incremental', '--release', '--assertions', '--enable-array-cow-checks', '--libcxx', '--lldb', '--llbuild', '--swiftpm', '--swift-driver', '--indexstore-db', '--sourcekit-lsp', '--swiftsyntax', '--swiftformat', '--install-llvm', '--install-lldb', '--install-swift', '--install-llbuild', '--install-swiftpm', '--install-swift-driver', '--install-swiftsyntax', '--install-swiftformat']` terminated with a non-zero exit status 1, aborting
I cannot figure out what the Python error is. I scrolled back and warnings, but no errors. I have checked the logs, but did not see anything start and stop messages.
However, I am still getting the Python error. Any ideas on what the error means? I don't see anything wrong with the command, but I'm obviously missing something because it's failing.
I was able to complete the build after a lot of build trials and errors and a multitude of ChatGippty questions. I included my process below for anyone who comes along and has the same issue.
As part of the original build-script preset, I had left verbose-build from the original Swift preset, but the Python log was still very cryptic. I later adding verbose to my build preset which seemed to help a little as well. Using ChatGippity (I'm not terribly familiar with Python), I made the following python script to get a better error message:
Error: the package manifest at '/Users/my/Developer/swift-project/swift-build/Package.swift' cannot be accessed (FileSystemError(kind: TSCBasic.FileSystemError.Kind.noEntry, path: Optional(<AbsolutePath:"/Users/my/Developer/swift-project/swift-build/Package.swift">)))
When cloning the Swift repository, swift-build, swift-foundation, swift-foundation-icu and a couple others are skipped by default. In swiftpm/.build/checkouts/swift-build, the Package.swift does exist, but it appears swift/utils/build-script is not set up to look in this location if swift-build does not exist in the root swift-project directory. I'm guessing this is a bug or oversight.
For time sake, I ran ./swift/utils/update-checkout --clone --all to get all of the repositories in my root directory and ran my build-script preset again after clearing the build folder. I got the following errors:
Target: arm64-apple-macosx15.0
[error]: the library 'DriverSupport' requires macos 15.0, but depends on the product 'SwiftDriver' which requires macos 15.2; consider changing the library 'DriverSupport' to require macos 15.2 or later, or the product 'SwiftDriver' to require macos 15.0 or earlier.
[error]: the library 'Build' requires macos 15.0, but depends on the product 'SwiftDriver' which requires macos 15.2; consider changing the library 'Build' to require macos 15.2 or later, or the product 'SwiftDriver' to require macos 15.0 or earlier.
[error]: the library 'SWBCore' requires macos 13.0, but depends on the product 'SwiftDriver' which requires macos 15.2; consider changing the library 'SWBCore' to require macos 15.2 or later, or the product 'SwiftDriver' to require macos 13.0 or earlier.
[error]: the library 'SWBMacro' requires macos 13.0, but depends on the product 'SwiftDriver' which requires macos 15.2; consider changing the library 'SWBMacro' to require macos 15.2 or later, or the product 'SwiftDriver' to require macos 13.0 or earlier.
Looking at the Package.swift files for these reveals the macOS platform is hardcoded for each platforms: [.macOS("13.0"), .iOS("17.0"), .macCatalyst("17.0")]. In swift-driver/Package.swift I found the following:
let macOSPlatform: SupportedPlatform
if let deploymentTarget = ProcessInfo.processInfo.environment["SWIFTPM_MACOS_DEPLOYMENT_TARGET"] {
macOSPlatform = .macOS(deploymentTarget)
} else {
macOSPlatform = .macOS(.v12)
}
instead of a hardcoded version. Something like this would be really helpful for all of the Package.swift files. SWIFTPM_MACOS_DEPLOYMENT_TARGET is set in swiftpm/Utilities/Bootstrap, and initially, manually setting it did not seem to reliably set the appropriate version, but that may have related to forgetting to save my changes before running the build-script again. Regardless, I hardcoded .macOS("15.2") into swift-build/Package.swift, swiftpm/Package.swiftsourcekit-lsp/Package.swift, and swiftpm/Fixtures/Miscellaneous/Plugins/DependentPlugins/Package.swift.
In regard to the above error stating DriverSupport and Build require macOS 15.0, those used to request macOS 12.0 or 13.0 before I started testing.
Also, updating specifically to .macOS("15.2") instead of .macOS(.v15) worked to fix these errors. .macOS(.v15_2) did not seem to be an option at this time.
After making these updates, I was able to get swiftpm to build using my build preset ./swift/utils/build-script --preset=my_buildbot_incremental,tools=RA,stdlib=RA,apple_silicon.
My thought is the swiftpm/Utilities/bootstrap variable g_macos_deployment_target should be set with xcrun --sdk macosx --show-sdk-version (if running the script on macOS) instead of being hardcoded to 12.0 as it is currently. swiftpm/Utilities/bootstrap would then set SWIFTPM_MACOS_DEPLOYMENT_TARGET to the building environment's current SDK which could then be optionally used in each swiftpm-dependent Package.swift file. This would avoid the error of looking for an SDK that may not exist in the building environment. Any thoughts?