Skip to content

Conversation

@kubkon
Copy link
Member

@kubkon kubkon commented Jun 20, 2023

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 kubkon added breaking Implementing this issue could cause existing code to no longer compile or have different behavior. os-macos macOS labels Jun 20, 2023
@kubkon kubkon added this to the 0.11.0 milestone Jun 20, 2023
@haze
Copy link
Contributor

haze commented Jun 20, 2023

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.

@kubkon
Copy link
Member Author

kubkon commented Jun 20, 2023

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 kubkon force-pushed the macos-autodetect-sdk branch from 2a91088 to ae881ed Compare June 20, 2023 20:20
@kubkon
Copy link
Member Author

kubkon commented Jun 20, 2023

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

…frameworks

This is already guaranteed as frameworks are Apple-only concept, and when
targeting Apple from Apple we always try linking against native SDK anyhow.
@kubkon kubkon self-assigned this Jun 20, 2023
@kubkon kubkon removed their assignment Jun 20, 2023
@andrewrk
Copy link
Member

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.

@kubkon
Copy link
Member Author

kubkon commented Jun 20, 2023

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 kubkon marked this pull request as draft June 21, 2023 09:05
@kubkon
Copy link
Member Author

kubkon commented Jun 25, 2023

Superseded by #16212

@kubkon kubkon closed this Jun 25, 2023
@kubkon kubkon deleted the macos-autodetect-sdk branch June 25, 2023 20:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Implementing this issue could cause existing code to no longer compile or have different behavior. os-macos macOS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

zig ld: undefined symbols for macOS 14

3 participants