Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
libffi
thing has confused me for awhile, but I think I'm starting to understand.Since
libffi
is a runtime component (as of Ruby 3.2), then we're building and installing it as part of the runtime build. So when components that depend onlibffi
, likeruby
, etc, we should (in general) build against the same version built.For example, on Solaris 11 Intel, we're installing libffi-dev from OpenCSW, currently version 3.2.1 and we compile against that. But we ship libffi version 3.4.3. Those differences could introduce runtime failures.
Ideally, I think we want to specify the
libffi
dependency, something like:I think a better option is to tell the gem to use
pkg-config
to resolve dependencies, something like:Similar to what's being done in https://github.com/ffi/ffi/blob/a480ff6db209713fc73a3dbbb4f1c31a376d6e6a/.github/workflows/ci.yml#L34
I think this might solve the issue @AriaXLi was seeing with the ffi gem on macOS 12 ARM as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm trying out the
PKG_CONFIG_PATH
suggestion, if that builds and completes I'll close this and put up a new PR with that work.