Closed coreh closed 1 year ago
Seeing this on Ventura 13.6 too
@simlay @MichaelHills @Emilio any chance we can update this to use the new bindgen and get this shipped?
Yes. I bet there's a dependabot PR with the bindgen fix. I'll merge it and bump the version later today.
I wasn't really able to reproduce this bug. I have validated that xcode 15 on macOS 13.6 the project builds over in #86.
@coreh A minor patch version has pushed to crates.io. Let me know if there's still an issue. Also, I should put the current maintainers in the readme so that people know to tag me or MichaelHills. I just hadn't seen the issue yet.
Thanks! No worries, you didn't take long at all, I opened the issue just a couple days ago.
I still can't compile a small project with ggez, even with clang 15... Is there anything I can do, please?
❯ cargo build
Compiling coreaudio-sys v0.2.8
error: failed to run custom build command for `coreaudio-sys v0.2.8`
Caused by:
process didn't exit successfully: `/Users/rogerio/Documents/projects/ballbounce/target/debug/build/coreaudio-sys-9b713dd0b6b60e55/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-env-changed=COREAUDIO_SDK_PATH
cargo:rustc-link-lib=framework=AudioToolbox
cargo:rustc-link-lib=framework=CoreAudio
cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS
--- stderr
thread 'main' panicked at '"enum_(unnamed_at_/Library/Developer/CommandLineTools/SDKs/MacOSX_sdk/usr/include/MacTypes_h_382_1)" is not a valid Ident', /Users/rogerio/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.67/src/fallback.rs:774:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
❯ clang --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
I still can't compile a small project with ggez, even with clang 15... Is there anything I can do, please?
❯ cargo build Compiling coreaudio-sys v0.2.8 error: failed to run custom build command for `coreaudio-sys v0.2.8`
Looks like you're using coreaudio-sys
0.2.8
when you want 0.2.12
. Does cargo update
fix the build? It's possible that coreaudio-sys is pinned to 0.2.8
in your project. cargo tree
is a useful tool for this type of thing.
I'm just using an older version of ggez for now. My dependencies are only these:
[dependencies]
rand = "0.8"
termion = "*"
ggez = "0.6"
I don't even have any sounds in this project. Does this mean I have to upgrade ggez to get it to compile?
EDIT: Wow, a cargo update
did the trick! It have updated coreaudio-sys to 0.2.13, and it worked!
Thanks @simlay!!
When using LLVM from the default Xcode toolchain in macOS Sonoma (14.0), the build fails with the following error:
This seems to be caused by this issue: https://github.com/rust-lang/rust-bindgen/issues/2312, which has been fixed in recent versions of
bindgen
. Interestingly, the issue mentions clang 16, however the clang in the default toolchain in XCode in macOS Sonoma is reported as 15, so it's likely that Apple backported some of the clang 16 changes to clang 15, including the one that's causing this.See also:
I believe the solution is to update
bindgen
to a more recent version that has the fix for this issue.Edit: Looks like (as reported below) this also affects 13.x after installing Xcode 15.0.
👉 For those finding this issue with the same problem, I was able to work around this by installing clang 15 via homebrew:
Then adding it to my path by following the instructions provided by that command, and rebuilding.