Skip to content

Conversation

@deivid-rodriguez
Copy link
Contributor

This currently works, but it's planned to eventually stop doing it. Furthermore, there's a .gemrc configuration
(install_extension_in_lib) that some OS packagers set to false to enable the future behavior, and gems making this assumption don't work with that.

Honestly, it feels like a very hard change for RubyGems to make smoothly and that makes me doubt it's worth doing, but this would be the "blessed way" that should not break regardless of what we end up doing.

This currently works, but it's planned to eventually stop doing it.
Furthermore, there's  a `.gemrc` configuration
(install_extension_in_lib) that some OS packagers set to false to enable
the future behavior, and gems making this assumption don't work with
that.

Honestly, it feels like a very hard change for RubyGems to make smoothly
and that makes me doubt it's worth doing, but this would be the "blessed
way" that should not break regardless of what we end up doing.
@flavorjones
Copy link
Owner

@deivid-rodriguez Thanks! I've kicked off CI. If it passes, I'll make this change to all of the extensions in this project.

@flavorjones flavorjones merged commit 366d324 into flavorjones:main Sep 14, 2025
154 checks passed
@deivid-rodriguez deivid-rodriguez deleted the install-extensions-in-lib-or-not branch September 15, 2025 08:21
@deivid-rodriguez
Copy link
Contributor Author

Thank you @flavorjones!

I'm not totally sure about whether we should actually make the change and forbid require_relative for requiring shared objects like done previously, or not.

But since this is the best guide out there to learn about extensions, I figured it should use the way that's definitely not going to break.

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.

2 participants