[GH-ISSUE #87] Build fails on a MacBook Pro M1 running macOS Big Sur version 11.5.2 #65

Closed
opened 2026-02-28 14:30:21 +03:00 by kerem · 13 comments
Owner

Originally created by @ctsrc on GitHub (Aug 17, 2021).
Original GitHub issue: https://github.com/jpochyla/psst/issues/87

I'm trying to build this on a MacBook Pro M1 running macOS Big Sur version 11.5.2, and the build fails.

rustup run nightly cargo version

cargo 1.56.0-nightly (b51439fd8 2021-08-09)

Build invocation and output from the point where it fails.

rustup run nightly cargo build --release

   Compiling miniaudio v0.10.0 (https://github.com/jpochyla/miniaudio-rs#d75bf62d)
error[E0425]: cannot find value `MA_SAMPLE_RATE_8000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:507:40
    |
507 | pub const SAMPLE_RATE_8000: u32 = sys::MA_SAMPLE_RATE_8000;
    |                                        ^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_11025` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:508:41
    |
508 | pub const SAMPLE_RATE_11025: u32 = sys::MA_SAMPLE_RATE_11025;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_16000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:509:41
    |
509 | pub const SAMPLE_RATE_16000: u32 = sys::MA_SAMPLE_RATE_16000;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_22050` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:510:41
    |
510 | pub const SAMPLE_RATE_22050: u32 = sys::MA_SAMPLE_RATE_22050;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_24000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:511:41
    |
511 | pub const SAMPLE_RATE_24000: u32 = sys::MA_SAMPLE_RATE_24000;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_32000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:512:41
    |
512 | pub const SAMPLE_RATE_32000: u32 = sys::MA_SAMPLE_RATE_32000;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_44100` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:513:41
    |
513 | pub const SAMPLE_RATE_44100: u32 = sys::MA_SAMPLE_RATE_44100;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_48000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:514:41
    |
514 | pub const SAMPLE_RATE_48000: u32 = sys::MA_SAMPLE_RATE_48000;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_88200` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:515:41
    |
515 | pub const SAMPLE_RATE_88200: u32 = sys::MA_SAMPLE_RATE_88200;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_96000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:516:41
    |
516 | pub const SAMPLE_RATE_96000: u32 = sys::MA_SAMPLE_RATE_96000;
    |                                         ^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_176400` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:517:42
    |
517 | pub const SAMPLE_RATE_176400: u32 = sys::MA_SAMPLE_RATE_176400;
    |                                          ^^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_192000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:518:42
    |
518 | pub const SAMPLE_RATE_192000: u32 = sys::MA_SAMPLE_RATE_192000;
    |                                          ^^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_352800` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:519:42
    |
519 | pub const SAMPLE_RATE_352800: u32 = sys::MA_SAMPLE_RATE_352800;
    |                                          ^^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0425]: cannot find value `MA_SAMPLE_RATE_384000` in crate `sys`
   --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:520:42
    |
520 | pub const SAMPLE_RATE_384000: u32 = sys::MA_SAMPLE_RATE_384000;
    |                                          ^^^^^^^^^^^^^^^^^^^^^ not found in `sys`

error[E0609]: no field `isBackendAsynchronous` on type `ma_context`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1023:27
     |
1023 |         from_bool8(self.0.isBackendAsynchronous)
     |                           ^^^^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `callbacks`, `backend`, `logCallback`, `threadPriority`, `threadStackSize` ... and 10 others

error[E0609]: no field `usingDefaultFormat` on type `ma_device__bindgen_ty_3`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1539:27
     |
1539 |         from_bool8(self.0.usingDefaultFormat)
     |                           ^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others

error[E0609]: no field `usingDefaultChannels` on type `ma_device__bindgen_ty_3`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1543:27
     |
1543 |         from_bool8(self.0.usingDefaultChannels)
     |                           ^^^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others

error[E0609]: no field `usingDefaultChannelMap` on type `ma_device__bindgen_ty_3`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1547:27
     |
1547 |         from_bool8(self.0.usingDefaultChannelMap)
     |                           ^^^^^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others

error[E0609]: no field `usingDefaultFormat` on type `ma_device__bindgen_ty_2`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1582:27
     |
1582 |         from_bool8(self.0.usingDefaultFormat)
     |                           ^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others

error[E0609]: no field `usingDefaultChannels` on type `ma_device__bindgen_ty_2`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1586:27
     |
1586 |         from_bool8(self.0.usingDefaultChannels)
     |                           ^^^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others

error[E0609]: no field `usingDefaultChannelMap` on type `ma_device__bindgen_ty_2`
    --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1590:27
     |
1590 |         from_bool8(self.0.usingDefaultChannelMap)
     |                           ^^^^^^^^^^^^^^^^^^^^^^ unknown field
     |
     = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others

Some errors have detailed explanations: E0425, E0609.
For more information about an error, try `rustc --explain E0425`.
error: could not compile `miniaudio` due to 21 previous errors
warning: build failed, waiting for other jobs to finish...
error: build failed
Originally created by @ctsrc on GitHub (Aug 17, 2021). Original GitHub issue: https://github.com/jpochyla/psst/issues/87 I'm trying to build this on a MacBook Pro M1 running macOS Big Sur version 11.5.2, and the build fails. `rustup run nightly cargo version` ```text cargo 1.56.0-nightly (b51439fd8 2021-08-09) ``` Build invocation and output from the point where it fails. `rustup run nightly cargo build --release` ```text Compiling miniaudio v0.10.0 (https://github.com/jpochyla/miniaudio-rs#d75bf62d) error[E0425]: cannot find value `MA_SAMPLE_RATE_8000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:507:40 | 507 | pub const SAMPLE_RATE_8000: u32 = sys::MA_SAMPLE_RATE_8000; | ^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_11025` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:508:41 | 508 | pub const SAMPLE_RATE_11025: u32 = sys::MA_SAMPLE_RATE_11025; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_16000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:509:41 | 509 | pub const SAMPLE_RATE_16000: u32 = sys::MA_SAMPLE_RATE_16000; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_22050` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:510:41 | 510 | pub const SAMPLE_RATE_22050: u32 = sys::MA_SAMPLE_RATE_22050; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_24000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:511:41 | 511 | pub const SAMPLE_RATE_24000: u32 = sys::MA_SAMPLE_RATE_24000; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_32000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:512:41 | 512 | pub const SAMPLE_RATE_32000: u32 = sys::MA_SAMPLE_RATE_32000; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_44100` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:513:41 | 513 | pub const SAMPLE_RATE_44100: u32 = sys::MA_SAMPLE_RATE_44100; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_48000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:514:41 | 514 | pub const SAMPLE_RATE_48000: u32 = sys::MA_SAMPLE_RATE_48000; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_88200` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:515:41 | 515 | pub const SAMPLE_RATE_88200: u32 = sys::MA_SAMPLE_RATE_88200; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_96000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:516:41 | 516 | pub const SAMPLE_RATE_96000: u32 = sys::MA_SAMPLE_RATE_96000; | ^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_176400` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:517:42 | 517 | pub const SAMPLE_RATE_176400: u32 = sys::MA_SAMPLE_RATE_176400; | ^^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_192000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:518:42 | 518 | pub const SAMPLE_RATE_192000: u32 = sys::MA_SAMPLE_RATE_192000; | ^^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_352800` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:519:42 | 519 | pub const SAMPLE_RATE_352800: u32 = sys::MA_SAMPLE_RATE_352800; | ^^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0425]: cannot find value `MA_SAMPLE_RATE_384000` in crate `sys` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/base.rs:520:42 | 520 | pub const SAMPLE_RATE_384000: u32 = sys::MA_SAMPLE_RATE_384000; | ^^^^^^^^^^^^^^^^^^^^^ not found in `sys` error[E0609]: no field `isBackendAsynchronous` on type `ma_context` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1023:27 | 1023 | from_bool8(self.0.isBackendAsynchronous) | ^^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `callbacks`, `backend`, `logCallback`, `threadPriority`, `threadStackSize` ... and 10 others error[E0609]: no field `usingDefaultFormat` on type `ma_device__bindgen_ty_3` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1539:27 | 1539 | from_bool8(self.0.usingDefaultFormat) | ^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others error[E0609]: no field `usingDefaultChannels` on type `ma_device__bindgen_ty_3` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1543:27 | 1543 | from_bool8(self.0.usingDefaultChannels) | ^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others error[E0609]: no field `usingDefaultChannelMap` on type `ma_device__bindgen_ty_3` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1547:27 | 1547 | from_bool8(self.0.usingDefaultChannelMap) | ^^^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others error[E0609]: no field `usingDefaultFormat` on type `ma_device__bindgen_ty_2` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1582:27 | 1582 | from_bool8(self.0.usingDefaultFormat) | ^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others error[E0609]: no field `usingDefaultChannels` on type `ma_device__bindgen_ty_2` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1586:27 | 1586 | from_bool8(self.0.usingDefaultChannels) | ^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others error[E0609]: no field `usingDefaultChannelMap` on type `ma_device__bindgen_ty_2` --> /Users/user/.cargo/git/checkouts/miniaudio-rs-0268a3ab613f78e9/d75bf62/miniaudio/src/device_io.rs:1590:27 | 1590 | from_bool8(self.0.usingDefaultChannelMap) | ^^^^^^^^^^^^^^^^^^^^^^ unknown field | = note: available fields are: `id`, `name`, `shareMode`, `format`, `channels` ... and 9 others Some errors have detailed explanations: E0425, E0609. For more information about an error, try `rustc --explain E0425`. error: could not compile `miniaudio` due to 21 previous errors warning: build failed, waiting for other jobs to finish... error: build failed ```
kerem closed this issue 2026-02-28 14:30:21 +03:00
Author
Owner

@ctsrc commented on GitHub (Aug 17, 2021):

This happens both with stable rust, which I tried first, and with nightly which I then used and which I have pasted the results for above.

<!-- gh-comment-id:899918282 --> @ctsrc commented on GitHub (Aug 17, 2021): This happens both with stable rust, which I tried first, and with nightly which I then used and which I have pasted the results for above.
Author
Owner

@finnatsea commented on GitHub (Aug 17, 2021):

Trying to build on the M1 Macbook Air, I have the same error.

Looks like @lonkle merged a PR that fixed an earlier arm miniaudio M1 issue. Maybe he has some insight on this?

#51 is related.

<!-- gh-comment-id:899920165 --> @finnatsea commented on GitHub (Aug 17, 2021): Trying to build on the M1 Macbook Air, I have the same error. Looks like @lonkle merged a PR that fixed an earlier arm miniaudio M1 issue. Maybe he has some insight on this? #51 is related.
Author
Owner

@mrkev commented on GitHub (Aug 17, 2021):

I did what @lonkle did on #51 (install llvm, install bindgen, add the feature to miniaudio in psst-core) and built successfully.

<!-- gh-comment-id:900025393 --> @mrkev commented on GitHub (Aug 17, 2021): I did what @lonkle did on #51 (install `llvm`, install `bindgen`, add the feature to `miniaudio` in `psst-core`) and built successfully.
Author
Owner

@NicholasLYang commented on GitHub (Aug 17, 2021):

Yeah miniaudio doesn't have aarch64 bindings, so compilation fails. This PR should fix it. Adding a bindings folder for macos-aarch64 isn't too hard btw. You'll need to do the following:

  1. Clone miniaudio and pull submodules
  2. Set up bindgen
  3. Compile generate-bindings.rs: rustc generate-bindings generate-bindings.rs
  4. Execute ./generate-bindings

There should be a macos-aarch64 folder in miniaudio/miniaudio-sys/bindings now. If you switch psst-core to use your local copy of miniaudio, it'll build.

<!-- gh-comment-id:900028294 --> @NicholasLYang commented on GitHub (Aug 17, 2021): Yeah miniaudio doesn't have aarch64 bindings, so compilation fails. [This PR](https://github.com/ExPixel/miniaudio-rs/pull/65/files) should fix it. Adding a bindings folder for `macos-aarch64` isn't too hard btw. You'll need to do the following: 1. Clone [miniaudio](https://github.com/ExPixel/miniaudio-rs) and pull submodules 2. Set up [bindgen](https://rust-lang.github.io/rust-bindgen/introduction.html) 3. Compile `generate-bindings.rs`: `rustc generate-bindings generate-bindings.rs` 4. Execute `./generate-bindings` There should be a `macos-aarch64` folder in `miniaudio/miniaudio-sys/bindings` now. If you switch `psst-core` to use your local copy of `miniaudio`, it'll build.
Author
Owner

@elmcrest commented on GitHub (Aug 17, 2021):

Hey @NicholasLYang
I've failed at "2. set up bindgen" - could you elaborate this a little more for non-rustonauts?... I hope that's the right term :)

<!-- gh-comment-id:900054300 --> @elmcrest commented on GitHub (Aug 17, 2021): Hey @NicholasLYang I've failed at "2. set up bindgen" - could you elaborate this a little more for non-rustonauts?... I hope that's the right term :)
Author
Owner

@trescenzi commented on GitHub (Aug 17, 2021):

@elmcrest I'm not a particularly knowledgeable rustacean but the following slightly more detailed instructions are what I did to get it to run on my M1 pro:

  1. Clone miniaudio
  2. Update submodules: cd miniaudio-rs && git submodule update --recursive --init
  3. Setup bindgen:
  • Install llvm: brew install llvm
  • Install bindgen in the miniaudio folder(unsure if this is necessary): cargo install bindgen
  1. Compile generate-bindings.rs: rustc generate-bindings.rs
  2. Execute ./generate-bindings
  3. Make psst-core point to your local miniaudio(in psst-core/Cargo.toml change the miniaudio line to the following two):
  miniaudio = { path = "../../miniaudio-rs/miniaudio", default-features = false, features = ["ma-log-level-error", "ma-no-flac", "ma-no-mp3", "ma-no-wav"] }
ep-miniaudio-sys = { path = "../../miniaudio-rs/miniaudio-sys", default-features = false, features = ["ma-log-level-error", "ma-no-flac", "ma-no-mp3", "ma-no-wav"] }
<!-- gh-comment-id:900305653 --> @trescenzi commented on GitHub (Aug 17, 2021): @elmcrest I'm not a particularly knowledgeable rustacean but the following slightly more detailed instructions are what I did to get it to run on my M1 pro: 1. Clone miniaudio 2. Update submodules: `cd miniaudio-rs && git submodule update --recursive --init` 3. Setup [bindgen](https://rust-lang.github.io/rust-bindgen/introduction.html): - Install `llvm`: `brew install llvm` - Install `bindgen` in the miniaudio folder(unsure if this is necessary): `cargo install bindgen` 4. Compile generate-bindings.rs: `rustc generate-bindings.rs` 5. Execute `./generate-bindings` 6. Make `psst-core` point to your local miniaudio(in `psst-core/Cargo.toml` change the `miniaudio` line to the following two): ``` miniaudio = { path = "../../miniaudio-rs/miniaudio", default-features = false, features = ["ma-log-level-error", "ma-no-flac", "ma-no-mp3", "ma-no-wav"] } ep-miniaudio-sys = { path = "../../miniaudio-rs/miniaudio-sys", default-features = false, features = ["ma-log-level-error", "ma-no-flac", "ma-no-mp3", "ma-no-wav"] } ```
Author
Owner

@VirenMohindra commented on GitHub (Aug 17, 2021):

@trescenzi your detailed instructions were really helpful!

Few points to note for new rust users -- if you haven't added cargo to your $PATH, you'll definitely need to do that (so cargo install bindgen was required for me).

Once you add it your relevant profile, re run the commands listed in the README.md here and everything should build successfully, besides a few warnings.

<!-- gh-comment-id:900334155 --> @VirenMohindra commented on GitHub (Aug 17, 2021): @trescenzi your detailed instructions were really helpful! Few points to note for new rust users -- if you haven't added cargo to your `$PATH`, you'll definitely need to do that (so `cargo install bindgen` was required for me). Once you add it your relevant profile, re run the commands listed in the README.md here and everything should build successfully, besides a few warnings.
Author
Owner

@jpochyla commented on GitHub (Aug 22, 2021):

Could you please open a PR in https://github.com/jpochyla/miniaudio-rs with the fixed bindings? Thanks!

<!-- gh-comment-id:903258246 --> @jpochyla commented on GitHub (Aug 22, 2021): Could you please open a PR in https://github.com/jpochyla/miniaudio-rs with the fixed bindings? Thanks!
Author
Owner

@prusnak commented on GitHub (Aug 27, 2021):

PR to jpochyla's fork: https://github.com/jpochyla/miniaudio-rs/pull/2
Older PR to upstream: https://github.com/ExPixel/miniaudio-rs/pull/65

<!-- gh-comment-id:907479309 --> @prusnak commented on GitHub (Aug 27, 2021): PR to jpochyla's fork: https://github.com/jpochyla/miniaudio-rs/pull/2 Older PR to upstream: https://github.com/ExPixel/miniaudio-rs/pull/65
Author
Owner

@jpochyla commented on GitHub (Aug 28, 2021):

Should be fixed as of 634f2d0, can you confirm?

<!-- gh-comment-id:907602715 --> @jpochyla commented on GitHub (Aug 28, 2021): Should be fixed as of 634f2d0, can you confirm?
Author
Owner

@VirenMohindra commented on GitHub (Aug 28, 2021):

Confirmed working on M1 Air

<!-- gh-comment-id:907621032 --> @VirenMohindra commented on GitHub (Aug 28, 2021): Confirmed working on M1 Air
Author
Owner

@prusnak commented on GitHub (Aug 28, 2021):

Confirmed that 634f2d0a02 works on M1

<!-- gh-comment-id:907625315 --> @prusnak commented on GitHub (Aug 28, 2021): Confirmed that 634f2d0a0289319923c88770d292881eb0e05358 works on M1
Author
Owner

@jpochyla commented on GitHub (Aug 28, 2021):

Thanks!

<!-- gh-comment-id:907627038 --> @jpochyla commented on GitHub (Aug 28, 2021): Thanks!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/psst#65
No description provided.