Skip to content

coreaudio-sys compile fails on MacOS due to LLVM change; cannot build bevy #10274

Closed
@dmlary

Description

@dmlary

Bevy version

HEAD of master branch (a830530)

Relevant system information

MacOS Ventura 13.6.1, but more importantly LLVM v15.0.0 (system version for ventura).

What you did

cargo build

What went wrong

Cannot build bevy on MacOS. Build fails on coreaudio-sys with the following output:

error: failed to run custom build command for `coreaudio-sys v0.2.11`

Caused by:
  process didn't exit successfully: `/Users/dmlary/src/bevy/vendor/bevy/target/debug/build/coreaudio-sys-88e19d2770556f5d/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=COREAUDIO_SDK_PATH
  cargo:rustc-link-lib=framework=AudioUnit
  cargo:rustc-link-lib=framework=CoreAudio
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS

  --- stderr
  thread 'main' panicked at /Users/dmlary/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proc-macro2-1.0.58/src/fallback.rs:811:9:
  "enum_(unnamed_at_/Library/Developer/CommandLineTools/SDKs/MacOSX_sdk/usr/include/MacTypes_h_382_1)" is not a valid Ident
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

The key piece is enum_(unnamed_at_/Library/Developer/CommandLineTools/SDKs/MacOSX_sdk/usr/include/MacTypes_h_382_1)" is not a valid Ident.

This is happening because LLVM changed the output for unnamed types, as a result bindgen generates invalid code. There's an issue describing the problem, and says it is resolved in bindgen v0.62. coreaudio-sys v0.2.12 updates to bindgen v0.64 1.

Additional information

I've confirmed that coreaudio-sys v0.2.11 will not build stand-alone on my macos system. This is after removing all additional LLVM installs, removing and reinstalling xcode & xcode command-line tools.

When I update to coreaudio-sys v0.2.12 (commit ad6cac44), I am able to build the crate with a few warnings, but it works.

Footnotes

  1. https://github.com/RustAudio/coreaudio-sys/pull/86

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-AudioSounds playback and modificationC-BugAn unexpected or incorrect behaviorO-MacOSSpecific to the MacOS (Apple) desktop operating system

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions