-
Notifications
You must be signed in to change notification settings - Fork 840
Open
Description
On macOS with:
$ uname -a
Darwin hostname 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:11:05 PDT 2024; root:xnu-10063.101.17~1/RELEASE_X86_64 x86_64
$ xcode-select --version
xcode-select version 2406.
But without Xcode installed, builds fail with the following error (the client example is used to illustrate the issue):
$ cargo build --example client
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: macOS deployment target (10.7) too low, it will be increased
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: macOS deployment target (10.7) too low, it will be increased
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
Compiling quiche v0.20.0 (/Users/cpick/src/quiche/quiche)
error: linking with `cc` failed: exit status: 1
|
= note: env -u IPHONEOS_DEPLOYMENT_TARGET -u TVOS_DEPLOYMENT_TARGET LC_ALL="C" PATH="/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/bin:/Users/cpick/opt/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Applications/Little Snitch.app/Contents/Components:/Users/cpick/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/Users/cpick/.cargo/bin:/Users/cpick/opt/bin:/usr/local/sbin:/usr/local/sbin" VSLANG="1033" ZERO_AR_DATE="1" "cc" "-arch" "x86_64" "-m64" "/var/folders/80/16mrb8bs2y782gm7xh5czrg40000gn/T/rustclAlYPP/symbols.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.13k6yotfaw10do3s.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.13qfq0h55xpo8sh5.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.19vztorrv7c4j2ec.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1duxr17m9wnvior5.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1gz16gay5zuchnxm.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1i4k06v1cmrsgib0.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1ojcff2z3jxu4k2m.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1q32xsds3f5ybbgd.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1sbav02lgxwbhenb.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.1t6wuc879jgicyjs.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.204kx6meqqcn3iq4.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.209f22hc6tvpetzy.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.21m9rnvk2h6oe2jq.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.285bi3v5d01jrkck.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.28ppu0ifaid8zsby.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2ewlx2bfav2gw3ic.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2jqh63xukg1h2v.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2n0uk3d77gs8qfvz.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2rdmjho204o5lwr7.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2rjb3jzixpip8863.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2yqnsb5igzdxr200.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2yszld2fm00hkym9.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.2z3w5qibmbyfpro4.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.37zev1i50zk7du61.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.3hb5qybavfzikki6.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.3u71czotctsov3t2.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.48crd6j4fjuyg767.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.4x15pxn2qhh47rey.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.517sltdxdsr59k7g.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.529sfi20moxq50vc.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.59z2vztbdk7wbbip.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.78gys2zl1i4cog4.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.cekpis4n4rkthzm.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.dghukxer66jwfwh.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.dgrwad7rrhv8w5b.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.f3cxbcukk6p3mpm.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.fbt2ldjywsv4kxx.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.jvzao4878zv7rle.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.kiuee9si0ij046.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.lmn18p9u5nrwji2.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.ny7ftf1qathwjn3.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.o8qw6s4twzz7dp0.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.rih6f6ak21ltd06.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.tkg626wzvej3gvv.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.tkhc3ngu4hbzah6.rcgu.o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0.3ki23b6gh48rqdu3.rcgu.o" "-L" "/Users/cpick/src/quiche/target/debug/deps" "-L" "/Users/cpick/src/quiche/target/debug/build/quiche-0b2fd3e2e616f06c/out/build/" "-L" "/Users/cpick/src/quiche/target/debug/build/ring-978c4b8fda33feca/out" "-L" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "/Users/cpick/src/quiche/target/debug/deps/libquiche.rlib" "/Users/cpick/src/quiche/target/debug/deps/liblibm-2e2875cc79d9f030.rlib" "/Users/cpick/src/quiche/target/debug/deps/libsfv-60edd0e9c5d293a9.rlib" "/Users/cpick/src/quiche/target/debug/deps/librust_decimal-8f90936f35110e34.rlib" "/Users/cpick/src/quiche/target/debug/deps/libarrayvec-b7e1c01c0a69b8fc.rlib" "/Users/cpick/src/quiche/target/debug/deps/libnum_traits-68936484161a5afd.rlib" "/Users/cpick/src/quiche/target/debug/deps/libdata_encoding-f24b2dd4a1b95eb7.rlib" "/Users/cpick/src/quiche/target/debug/deps/liboctets-2b0494d7d29c9100.rlib" "/Users/cpick/src/quiche/target/debug/deps/libonce_cell-c8efe44cfac0a5cf.rlib" "/Users/cpick/src/quiche/target/debug/deps/libintrusive_collections-fd39cf8581b99b3d.rlib" "/Users/cpick/src/quiche/target/debug/deps/libmemoffset-6751ffecf06f4244.rlib" "/Users/cpick/src/quiche/target/debug/deps/libeither-991b3658e21dc0cc.rlib" "/Users/cpick/src/quiche/target/debug/deps/libslab-c12462bb92b62411.rlib" "/Users/cpick/src/quiche/target/debug/deps/libqlog-5d255ca0b17e189b.rlib" "/Users/cpick/src/quiche/target/debug/deps/libserde_json-2c68e15417277dd9.rlib" "/Users/cpick/src/quiche/target/debug/deps/libitoa-c2dfc4545b0373e2.rlib" "/Users/cpick/src/quiche/target/debug/deps/libryu-b5d9d84eab8ae0a9.rlib" "/Users/cpick/src/quiche/target/debug/deps/libindexmap-a87cf176d6ed18a4.rlib" "/Users/cpick/src/quiche/target/debug/deps/libequivalent-1987a04a349eb12e.rlib" "/Users/cpick/src/quiche/target/debug/deps/libhashbrown-f99643c2a51c2834.rlib" "/Users/cpick/src/quiche/target/debug/deps/libserde_with-6c1cd026b2cd7429.rlib" "/Users/cpick/src/quiche/target/debug/deps/libsmallvec-253c7fa9d166ae36.rlib" "/Users/cpick/src/quiche/target/debug/deps/libserde-1ac5d4ad0ec0f170.rlib" "/Users/cpick/src/quiche/target/debug/deps/libmio-fc29a90a0fe5f5a2.rlib" "/Users/cpick/src/quiche/target/debug/deps/liburl-0047ac4043ec5577.rlib" "/Users/cpick/src/quiche/target/debug/deps/libidna-b6524f527b13859b.rlib" "/Users/cpick/src/quiche/target/debug/deps/libunicode_normalization-d67f0ad94df05092.rlib" "/Users/cpick/src/quiche/target/debug/deps/libtinyvec-8aae1cfd39a0343c.rlib" "/Users/cpick/src/quiche/target/debug/deps/libtinyvec_macros-eb5d43ec0dd0cc25.rlib" "/Users/cpick/src/quiche/target/debug/deps/libunicode_bidi-69325144e7e2e875.rlib" "/Users/cpick/src/quiche/target/debug/deps/libform_urlencoded-017e44d986475d50.rlib" "/Users/cpick/src/quiche/target/debug/deps/libpercent_encoding-34e6bd0e1ce943f4.rlib" "/Users/cpick/src/quiche/target/debug/deps/libring-868910881db8bdaa.rlib" "/Users/cpick/src/quiche/target/debug/deps/libgetrandom-6bbf658ec1871f1a.rlib" "/Users/cpick/src/quiche/target/debug/deps/liblibc-ac40b9d085166371.rlib" "/Users/cpick/src/quiche/target/debug/deps/libspin-7fdc7109a0d593ff.rlib" "/Users/cpick/src/quiche/target/debug/deps/libuntrusted-93e96d23ebb0168e.rlib" "/Users/cpick/src/quiche/target/debug/deps/libcfg_if-8c34475493eb3b02.rlib" "/Users/cpick/src/quiche/target/debug/deps/liblog-3016222b816e7987.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd-960d4882ff352024.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libpanic_unwind-61ac09eb9be89a58.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libobject-47725dcc4098cefe.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libmemchr-f8075422c0b8c742.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libaddr2line-333b26104db8a51e.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libgimli-ab6b55175b2e2ae9.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_demangle-29a9acdc4ae14eff.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libstd_detect-e989c97d15cfeae5.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libhashbrown-c87c5072a08d7306.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_alloc-b964ee6492071d33.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libminiz_oxide-d5d75efd4755d33e.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libadler-cf16ab2c411e205e.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libunwind-7e2b54a40363364d.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcfg_if-4aa674aa8fc55f75.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liblibc-750520551ac43257.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/liballoc-f6c8d089a103a2bd.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/librustc_std_workspace_core-2390f4e89b0bad84.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcore-cc0f94a01fd3aac7.rlib" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib/libcompiler_builtins-1f8f519f74859613.rlib" "-liconv" "-lSystem" "-lc" "-lm" "-L" "/Users/cpick/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib" "-o" "/Users/cpick/src/quiche/target/debug/examples/client-2c46ad0fe25c42d0" "-Wl,-dead_strip" "-nodefaultlibs" "-Wl,-rpath,/Users/cpick/src/quiche/target/debug/build/quiche-0b2fd3e2e616f06c/out"
= note: Undefined symbols for architecture x86_64:
"___isPlatformVersionAtLeast", referenced from:
_init_once in libquiche.rlib[384](bcm.c.o)
_fill_with_entropy in libquiche.rlib[384](bcm.c.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The following warnings were emitted during compilation:
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: macOS deployment target (10.7) too low, it will be increased
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
warning: quiche@0.20.0: macOS deployment target (10.7) too low, it will be increased
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
error: could not compile `quiche` (example "client") due to 1 previous error
It looks like this is due to an upstream issue in the "cc" crate. While they work on a more comprehensive solution the following workaround worked for me by appending the following section to this repository's top-level Cargo.toml:
[patch.crates-io]
# fix the following error:
# $ cargo build --example client
# warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' from command line tools installation
# warning: quiche@0.20.0: xcrun: error: unable to lookup item 'PlatformVersion' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'
# see: https://github.com/rust-lang/cc-rs/issues/1001
cc = { git = "https://github.com/rust-lang/cc-rs", rev = "refs/pull/1007/head" }
Metadata
Metadata
Assignees
Labels
No labels