Zero_Check error when building on Xcodex

I built the Swift toolchain for both Ninja and Xcode following the directions in the Getting Started Guide, but am getting a series of errors that I can't figure out.

First, I was able to get the Xcode project to build successfully but at runtime, I would get the below errors:

:0: warning: unable to perform implicit import of "_Concurrency" module: no such module found
:0: error: fatal error encountered during compilation; please submit a bug report ( Swift.org - Contributing ) and include the project
:0: note: Compiler-internal integrated REPL has been removed; use the LLDB-enhanced REPL instead.

Then I fetched the latest swift build and updated my project in case I had made a change that caused issues from the original build and now I'm getting a new error at build time and I don't know how to resolve this:

ZERO_CHECK: error: invalid option '--version: xcodebuild'

My Machine Environment:
Cmake version 3.21.0
Python version Python 3.8.2
ninja version 1.10.2
sccache version 0.2.15
Xcode version 12.5.1
macOS Big Sur Big Sur 11.4

I removed --test from my toolchain build and added the environment variable to silence an error regarding xcode version:

env SKIP_XCODE_VERSION_CHECK=1 utils/build-script --skip-build-benchmarks \
  --skip-ios --skip-watchos --skip-tvos --swift-darwin-supported-archs "$(uname -m)" \
  --sccache --release-debuginfo --debug-swift --swift-disable-dead-stripping \ 
  --xcode

I am using the swift-frontend scheme to build and run the project.

Xcode version 12.5.1
macOS Big Sur Big Sur 11.4

Concurrency isn't supported on XCode 12.5.1 or any Apple OS before iOS 15 / macOS 12

It looks like you are trying to run something using the new async/await language features and Concurrency runtime on versions of the OS that don't support it.

I'm not sure that the second error is related to the previous warning. In any case, prepending the environment variable should be enough to ignore the concurrency features not available on older Xcode versions.

I'm still looking for a solution to my failed swift-frontend build.

I decided to delete everything and attempt a clean build again. I'm now getting a new error:
"clang: error: no such file or directory: '/Users/.../swift-project/build/Xcode-RelWithDebInfoAssert/cmark-macosx-x86_64/src/Debug/libcmark.a'
Command Ld failed with a nonzero exit code".

I found a thread that seemed to indicate that building the cmark.xcodeproj and then rebuilding swift-frontend could resolve this but that has not been true for my build. Here is the complete error that I'm currently getting when I try to build - https://gist.github.com/amritpan/f53edd66fe39f51d71c770948cb26c23

It looks like CMark (which is a dependency) was not built. I know at one point, there was some issue with the Xcode generator not putting CMark in the right place. You could check for that using something like:

find /path/to/swift-project/swift-project/build/Xcode-RelWithDebInfoAssert/cmark-macosx-x86_64/src -type f libcmark.a

If it's in some other directory like Release instead of Debug, you could try creating a symlink to hack around it ln -s Release Debug.

Alternately, you could try using the Ninja generator along with some other editor to get yourself unblocked, the Ninja generator typically doesn't run into build issues.

3 Likes

In what directory which directory would you run this command? (Sorry, Iā€™m a bit of a newbie.)

It would be under

/path/to/swift-project/swift-project/build/Xcode-RelWithDebInfoAssert/cmark-macosx-x86_64/src

based on the error pasted earlier: