Skip to content
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

Should ruby-build fix Ruby 3.0 by patching it on macOS? #2504

Open
mislav opened this issue Jan 22, 2025 · 3 comments
Open

Should ruby-build fix Ruby 3.0 by patching it on macOS? #2504

mislav opened this issue Jan 22, 2025 · 3 comments

Comments

@mislav
Copy link
Member

mislav commented Jan 22, 2025

We're getting a lot of support requests for Ruby 3.0 failing on macOS 14+ due to a known bug in bigdecimal.c that's been fixed in Ruby 3.1 but won't get backported to 3.0 #2185 (comment)

The solution we give users is always the same: apply an upstream patch.

My question is: to reduce our workload and give users a better experience, should ruby-build automatically apply this patch to Ruby 3.0 to enable it to compile on macOS? This is perhaps controversial because ruby-build had historically always refused to apply any patches automatically, guaranteeing that you're always running a "vanilla" version of Ruby, and because Ruby 3.0 is EOL and it shouldn't be anyone's business to help EOL versions compile. But here we are.

Alternative solutions:

  • In BUILD FAILED messages there could be a textual hint about this patch, if the compilation errored out in bigdecimal.c
  • Do nothing and let people figure it out on our discussion forums

Thoughts @hsbt @eregon?

@hsbt
Copy link
Member

hsbt commented Jan 24, 2025

I'm negative to add patch to our definition.

This is perhaps controversial because ruby-build had historically always refused to apply any patches automatically, guaranteeing that you're always running a "vanilla" version of Ruby

Agreed.

In BUILD FAILED messages there could be a textual hint about this patch, if the compilation errored out in bigdecimal.c

I prefer that. or We can add that workaround to FAQ section with https://github.com/rbenv/ruby-build/wiki#troubleshooting?

@eregon
Copy link
Member

eregon commented Jan 27, 2025

I think adding some extra text in the output sounds helpful, e.g. linking to #2185 (comment), agreed we shouldn't automatically patch that.

The fact OpenSSL 1.1 is EOL and Ruby 3.0 doesn't support OpenSSL 3 is another reason nobody should use Ruby 3.0 these days.

@eregon
Copy link
Member

eregon commented Jan 27, 2025

I think for simplicity it'd be fine to just output some early text linking to that solution whenever installing 3.0.x, e.g. just adding some echo's in the definitions.

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

No branches or pull requests

3 participants