zig icon indicating copy to clipboard operation
zig copied to clipboard

macos: try auto-detecting the SDK when building on Apple for Apple

Open kubkon opened this issue 2 years ago • 5 comments

This patch tweaks Zig's behavior to prefer native SDK when compiling on an Apple platform for an Apple platform, if available. This also includes the build.zig code path in main.zig which now auto-detects the presence of native SDK when compiling on an Apple platform.

The latter was a surprise for me as I blindly assumed we use the same code path for build-exe/build-lib/cc etc. as for zig build but the latter has its own, vastly simplified Compilation struct. If we are to support beta macOS releases out-of-the-box without the necessity to patch Zig up, we need to patch both code paths: buildOutputType and cmdBuild. I was wondering if there perhaps is a better way to achieve this than this PR, but on the other hand this PR is the simplest way forward as far as I can see.

Closes #16118

kubkon avatar Jun 20 '23 09:06 kubkon

I haven't been able to build stage3 zig on macOS Sonoma just yet; I get this error when building;

$ cmake -G Ninja -B build -DCMAKE_PREFIX_PATH='/opt/llvm/16.0.1/;/opt/pkg/' -DCMAKE_BUILD_TYPE=ReleaseWithDebInfo
$ samu -j20 -C build install
samu: entering directory 'build'
[1/2] Building stage3
samu: job failed: cd /Users/haze/zig && /Users/haze/zig/build/zig2 build --prefix /Users/haze/zig/build/stage3 --zig-lib-dir /Users/haze/zig/lib -Dconfig_h=/Users/haze/zig/build/config.h -Denable-llvm -Doptimize=ReleaseFast -Dstrip -Dtarget=native -Dcpu=native -Dversion-string=0.11.0-dev.3736+2a910886e
error(link): undefined reference to symbol '_isatty'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_dup2'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_destroy'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_getenv'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_writev'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_abort'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_image_count'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__exit'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_exit'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_init'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___ulock_wait2'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fstat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fstatat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_faccessat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_mkdirat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_openat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_unlinkat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_symlinkat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_renameat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_futimens'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___error'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fchdir'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_chdir'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_get_image_header'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_threadid_np'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__tlv_bootstrap'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_munmap'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_mmap'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_bzero'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_environ'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_sigaction'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_join'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_posix_memalign'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_open'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fcntl'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_poll'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___stack_chk_fail'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fork'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_lseek'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_os_unfair_lock_trylock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_os_unfair_lock_unlock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_flock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_os_unfair_lock_lock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_arc4random_buf'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_setstacksize'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_setguardsize'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_malloc_size'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_execve'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pwrite'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_write'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_create'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_ftruncate'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pipe'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_clock_gettime'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_sysctlbyname'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_get_image_name'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_sendfile'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___ulock_wake'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_free'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_get_image_vmaddr_slide'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___stack_chk_guard'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_setreuid'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_waitpid'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_setregid'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pread'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_read'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_msync'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_close$NOCANCEL'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_wait4'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___getdirentries64'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__availability_version_check'
error(link):   first referenced in '/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a(/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a.o)'
error(link): undefined reference to symbol '_sys_icache_invalidate'
error(link):   first referenced in '/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a(/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a.o)'
error(link): undefined reference to symbol 'dyld_stub_binder'
error: UndefinedSymbolReference
samu: subcommand failed

Attempting to use zig2 on an example init-exe project results in the same error message.

haze avatar Jun 20 '23 17:06 haze

I haven't been able to build stage3 zig on macOS Sonoma just yet; I get this error when building;

$ cmake -G Ninja -B build -DCMAKE_PREFIX_PATH='/opt/llvm/16.0.1/;/opt/pkg/' -DCMAKE_BUILD_TYPE=ReleaseWithDebInfo
$ samu -j20 -C build install
samu: entering directory 'build'
[1/2] Building stage3
samu: job failed: cd /Users/haze/zig && /Users/haze/zig/build/zig2 build --prefix /Users/haze/zig/build/stage3 --zig-lib-dir /Users/haze/zig/lib -Dconfig_h=/Users/haze/zig/build/config.h -Denable-llvm -Doptimize=ReleaseFast -Dstrip -Dtarget=native -Dcpu=native -Dversion-string=0.11.0-dev.3736+2a910886e
error(link): undefined reference to symbol '_isatty'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_dup2'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_destroy'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_getenv'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_writev'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_abort'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_image_count'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__exit'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_exit'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_init'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___ulock_wait2'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fstat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fstatat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_faccessat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_mkdirat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_openat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_unlinkat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_symlinkat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_renameat'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_futimens'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___error'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fchdir'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_chdir'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_get_image_header'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_threadid_np'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__tlv_bootstrap'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_munmap'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_mmap'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_bzero'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_environ'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_sigaction'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_join'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_posix_memalign'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_open'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fcntl'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_poll'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___stack_chk_fail'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_fork'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_lseek'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_os_unfair_lock_trylock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_os_unfair_lock_unlock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_flock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_os_unfair_lock_lock'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_arc4random_buf'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_setstacksize'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_attr_setguardsize'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_malloc_size'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_execve'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pwrite'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_write'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pthread_create'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_ftruncate'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pipe'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_clock_gettime'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_sysctlbyname'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_get_image_name'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_sendfile'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___ulock_wake'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_free'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__dyld_get_image_vmaddr_slide'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___stack_chk_guard'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_setreuid'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_waitpid'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_setregid'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_pread'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_read'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_msync'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_close$NOCANCEL'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '_wait4'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '___getdirentries64'
error(link):   first referenced in '/Users/haze/zig/zig-cache/o/5c5681b3b424d5ecd0c1eb1c7e88cb9b/build.o'
error(link): undefined reference to symbol '__availability_version_check'
error(link):   first referenced in '/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a(/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a.o)'
error(link): undefined reference to symbol '_sys_icache_invalidate'
error(link):   first referenced in '/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a(/Users/haze/.cache/zig/o/ae5b8bbe07c38d4a9ef82cd52e4ea880/libcompiler_rt.a.o)'
error(link): undefined reference to symbol 'dyld_stub_binder'
error: UndefinedSymbolReference
samu: subcommand failed

Attempting to use zig2 on an example init-exe project results in the same error message.

Nice, this is a step forward - YAML parser (aka TAPI) parser is outdated. Would you mind filing an issue and would you mind sending me a copy of your libSystem.tbd?

kubkon avatar Jun 20 '23 17:06 kubkon

That was my bad - the patch was wrong. Could try again @haze?

kubkon avatar Jun 20 '23 20:06 kubkon

I think this detection logic should go inside detectLibCIncludeDirs in Compilation, where there is already similar detection logic for MSVC on Windows, glibc on Linux, etc.

andrewrk avatar Jun 20 '23 22:06 andrewrk

I think this detection logic should go inside detectLibCIncludeDirs in Compilation, where there is already similar detection logic for MSVC on Windows, glibc on Linux, etc.

Oh, that's a neat idea - lemme try that once we wrinkle out all failures on macOS 14 with @haze.

kubkon avatar Jun 20 '23 22:06 kubkon

Superseded by #16212

kubkon avatar Jun 25 '23 20:06 kubkon