Swift build does not work. Not even on brand new project. Example:
- Create new proejct
$ mkdir swift-app-test2; cd swift-app-test2
$ swift package init
- Attempt to build it
$ swift build
error: 'swift-app-test2': Invalid manifest (compiled with: ["/Library/Developer/CommandLineTools/usr/bin/swiftc", "-vfsoverlay", "/var/folders/82/248qxrjd3md0lkf4lz8r0hcc0000gn/T/TemporaryDirectory.Hn4O79/vfs.yaml", "-L", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-lPackageDescription", "-Xlinker", "-rpath", "-Xlinker", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-target", "arm64-apple-macosx14.0", "-F", "/Library/Developer/CommandLineTools/Library/Developer/Frameworks", "-sdk", "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk", "-swift-version", "6", "-I", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-sdk", "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk", "-package-description-version", "6.1.0", "/Users/markus/dev/swift-app-test2/Package.swift", "-o", "/var/folders/82/248qxrjd3md0lkf4lz8r0hcc0000gn/T/TemporaryDirectory.UZS9vv/swift-app-test2-manifest"])
error: link command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture arm64:
"PackageDescription.Package.__allocating_init(name: Swift.String, defaultLocalization: PackageDescription.LanguageTag?, platforms: [PackageDescription.SupportedPlatform]?, pkgConfig: Swift.String?, providers: [PackageDescription.SystemPackageProvider]?, products: [PackageDescription.Product], dependencies: [PackageDescription.Package.Dependency], targets: [PackageDescription.Target], swiftLanguageVersions: [PackageDescription.SwiftVersion]?, cLanguageStandard: PackageDescription.CLanguageStandard?, cxxLanguageStandard: PackageDescription.CXXLanguageStandard?) -> PackageDescription.Package", referenced from:
Like huh???? The error message is not at all helpful
This happens likely because you upgraded MacOS version recently. This seems to usually break CommandLineTools.
To fix is, reinstall CommandLineTools:
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install # NOTE: opens a GUI dialog where you can finish the install
After install finishes, build succeeds as expected:
$ swift build
Building for debugging...
[4/4] Compiling swift_app_test2 swift_app_test2.swift
Build complete! (22.68s)