-
Notifications
You must be signed in to change notification settings - Fork 208
introduce general musl support #442
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
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 ruby/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-muslas a target platform rake-compiler/rake-compiler-dock#75)Fixes #434
Fixes #372