Skip to content

Conversation

@0pendansor
Copy link

LIbffi is broken in MacOS 15+. The clang compiler that comes with Xcode that comes with MacOS 15 is incompatible with libffi 3.2.0.

There has been a fix, and it is updated in libffi 4.0.0. See libffi-rs/libffi-rs#109

LIbffi is broken in MacOS 15+. The clang compiler that comes with Xcode that comes with MacOS 15 is incompatible with libffi 3.2.0. 

There has been a fix, and it is updated in libffi 4.0.0. See libffi-rs/libffi-rs#109
Copy link
Contributor

@jedbrown jedbrown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I started the pipeline. Is it worth changing CI (.github/workflows/test.yaml) so that this would be tested?

@jedbrown
Copy link
Contributor

I fixed CI issues. Can you please rebase on main?

@0pendansor 0pendansor requested a review from jedbrown April 22, 2025 17:53
@0pendansor
Copy link
Author

Done!

@jedbrown
Copy link
Contributor

jedbrown commented Apr 23, 2025

This bumps MSRV to 1.78. You can update the rust-version field and the test workflow.

Cargo.toml Outdated
[dependencies]
conv = "0.3.3"
libffi = { version = "3.2.0", optional = true }
libffi = { version = "4.0.0", optional = true }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
libffi = { version = "4.0.0", optional = true }
libffi = { version = "4.1.0", optional = true }

I see a new version is out. And please update the rust-version field; then we should be able to merge this.

jedbrown added a commit that referenced this pull request Jun 6, 2025
The updated libffi is needed to fix an issue with MacOS 15, and the fix
has a side-effect of increasing MSRV to 1.78. See
#209
jedbrown added a commit that referenced this pull request Jun 6, 2025
The updated libffi is needed to fix an issue with MacOS 15, and the fix
has a side-effect of increasing MSRV to 1.78. See
#209

We will stick with bindgen-1.70.1 because bindgen-1.71.1 does not
correctlly identify when to avoid using unsafe extern "C" { ... }, which
was first added in rust-1.82.

rust-lang/rust-bindgen#3015
https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-extern.html
jedbrown added a commit that referenced this pull request Jun 10, 2025
The updated libffi is needed to fix an issue with MacOS 15, and the fix
has a side-effect of increasing MSRV to 1.78. See
#209

We will stick with bindgen-1.70.1 because bindgen-1.71.1 does not
correctlly identify when to avoid using unsafe extern "C" { ... }, which
was first added in rust-1.82.

rust-lang/rust-bindgen#3015
https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-extern.html
jedbrown added a commit that referenced this pull request Jun 10, 2025
The updated libffi is needed to fix an issue with MacOS 15, and the fix
has a side-effect of increasing MSRV to 1.78. See
#209

We will stick with bindgen-1.70.1 because bindgen-1.71.1 does not
correctlly identify when to avoid using unsafe extern "C" { ... }, which
was first added in rust-1.82.

rust-lang/rust-bindgen#3015
https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-extern.html
shadielfares and others added 2 commits June 16, 2025 19:17
Changed libffi version to 4.1.0 in Cargo.toml
@jedbrown
Copy link
Contributor

Closing in favor of #214

@jedbrown jedbrown closed this Jun 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants