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

ruby 2.4.10 #984

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

ruby 2.4.10 #984

wants to merge 1 commit into from

Conversation

sevan
Copy link
Collaborator

@sevan sevan commented Oct 26, 2023

On the road to switching things to OpenSSL 3, I updated ruby. Unfortunately it doesn't support OpenSSL 3 as is (haven't looked at back-porting patches to ossl_*.c files where it fails.
Otherwise built on Tiger ppc/x86 & Leopard x86
It complains about a few things, hence a draft pull request.

*** Following extensions failed to configure:
../.././ext/win32/extconf.rb:0: Failed to configure win32. It will not be installed.
../.././ext/win32ole/extconf.rb:0: Failed to configure win32ole. It will not be installed.

On Tiger there's a cosmetic issue where it tries to print the summary of configuration at the end of running configure but since it invokes head with an unsupported option, it fails to print.

Configuration summary for ruby version 2.4.10                                                                                                       
                                                                                                                                                    
head: illegal option -- c                                                                                                                           
Usage: head [-n lines] [file ...]

Not sure if this is serious since the build ignores it:

making dummy probes.h
/private/tmp/ruby20231026-26902-vefh6v/ruby-2.4.10/tool/vcs.rb:12:in `realpath': undefined method `Pathname' for File:Class (NoMethodError)
        from /private/tmp/ruby20231026-26902-vefh6v/ruby-2.4.10/tool/vcs.rb:108:in `detect'
        from /private/tmp/ruby20231026-26902-vefh6v/ruby-2.4.10/tool/vcs.rb:106:in `loop'
        from /private/tmp/ruby20231026-26902-vefh6v/ruby-2.4.10/tool/vcs.rb:106:in `detect'
        from /private/tmp/ruby20231026-26902-vefh6v/ruby-2.4.10/tool/vcs.rb:104:in `each'
        from /private/tmp/ruby20231026-26902-vefh6v/ruby-2.4.10/tool/vcs.rb:104:in `detect'
        from ./tool/file2lastrev.rb:83
make: [.revision.time] Error 1 (ignored)

@mistydemeo
Copy link
Owner

The failure to build the win32 extensions should be fine! As for head... hm, I wonder if we can just use a newer head to build.

Maybe it's worth bumping Ruby past 2.4 at this point so we can do OpenSSL 3.

@sevan
Copy link
Collaborator Author

sevan commented Oct 26, 2023

ack, I'll take a look at newer versions of Ruby to see if they're ok with building on Tiger.
I might just patch the configure script to do print the summary by line count rather than add something like coreutils as a build dep, since it's cosmetic.

@sevan
Copy link
Collaborator Author

sevan commented Oct 29, 2023

Ruby 3.2 has OpenSSL 3 support, possibly Ruby 3.1 also.
By co-incidence Ruby grew support for legacy Darwin on PowerPC once again, last year. With a bit of patching, I have gotten the initial core parts to build, resulting in miniruby being generated. The build then fails as miniruby fails to execute in the next stage of the build process. I went back to Ruby 3.1.4 but there are further problem with threading which require backporting changes. I've tested on a G4 & G5 running Tiger, will see if thing work on Leopard next and work backwards again.

@sevan
Copy link
Collaborator Author

sevan commented Oct 30, 2023

Found the issue causing the crash in miniruby and have managed to build the latest release of Ruby 3.2 on Tiger with bodges.

% bin/ruby -v
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [powerpc-darwin8.0]

Now just need to address the issues I sidestepped :)

@sevan
Copy link
Collaborator Author

sevan commented Dec 5, 2023

Of the issues I sidestepped I'm stuck on one issue which needs work. If it's possible this should be merged in the meantime and I will bring in ruby 3 in the new year.

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