-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
introduce general musl support #442
Conversation
8d4534a
to
cbef831
Compare
cbef831
to
c2eb62a
Compare
af4d7e5
to
3d5d795
Compare
This went green using rake-compiler-dock 1.5.0.rc1! |
Found a pretty significant blocker this weekend. We probably cannot release this unless rubygems/rubygems#7432 is addressed in bundler or rubygems. And even then, we probably need additional documentation to help people resolve issues. Putting this on hold until we know more. |
…x libc (#236) ### Problem I'm trying to solve Rubygems does not correctly recognize `-musl` or `-gnu` platform suffixes until v3.3.22. ### Solution If rake-compiler is building a linux native gem that specifies a libc in its platform object, then add ">= 3.3.22" to the required_rubygems_version requirement. https://github.com/rubygems/rubygems/blob/master/CHANGELOG.md#3322--2022-09-07 ### Context While working on musl support in the precompilation toolchain: - rake-compiler/rake-compiler-dock#111 - flavorjones/ruby-c-extensions-explained#27 - sparklemotion/sqlite3-ruby#442 - sparklemotion/nokogiri#3111 I noticed that Ruby 3.0 is still shipping with Rubygems 3.2.33, which does not recognize these gem platforms. Specifying the rubygems requirement changes the error experienced by users during gem installation from: > ERROR: While executing gem ... (Gem::Exception) > Unable to find spec for #<Gem::NameTuple rcee_precompiled, 0.6.test.2024.0128.1724, aarch64-linux> to: > ERROR: Error installing rcee_precompiled-0.6.test.2024.0128.1735-x86_64-linux-musl.gem: > rcee_precompiled-0.6.test.2024.0128.1735-x86_64-linux-musl requires RubyGems version >= 3.3.22. > The current RubyGems version is 3.2.33. Try 'gem update --system' to update RubyGems itself.
3d5d795
to
a8f3f05
Compare
Picking this back up again since the fix to the rubygems issue mentioned above was released in bundler 2.5.6. |
d6048e6
to
7bfc42c
Compare
7bfc42c
to
5325e98
Compare
4ebdd1d
to
37e84d7
Compare
OK, proceeding carefully here after an exploration revealed some versions of rubygems and bundler aren't going to work well, see rake-compiler/rake-compiler-dock#117 Planning to cut a release candidate this week. |
to reproduce the issue from #434
Rubygems 3.3.22 is the minimum needed to correctly detect and use `-linux-musl` and `-linux-gnu` native gems. rake-compiler/rake-compiler#236 introduced a minimum rubygems version for these native platform gems to provide a sensible error message.
37e84d7
to
112e479
Compare
updating to rake-compiler-dock 1.5.0
112e479
to
aba0c06
Compare
Shipped in v2.0.0 https://github.com/sparklemotion/sqlite3-ruby/releases/tag/v2.0.0 |
This is a draft PR that will remain open while we work on a general fix for musl version issues.
*-linux-musl
as a target platform rake-compiler/rake-compiler-dock#75)Fixes #434
Fixes #372