-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
ARROW-15334: [CI][GLib][Windows] Use Ruby 3.1 #12165
Conversation
I haven't identified the real problem yet but the following error is occurred since mingw-w64-x86_64-gettext MSYS2 package was updated to 0.21-3: <internal:C:/hostedtoolcache/windows/Ruby/3.0.3/x64/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>:96:in `require': 127: The specified procedure could not be found. - C:/hostedtoolcache/windows/Ruby/3.0.3/x64/lib/ruby/gems/3.0.0/gems/glib2-3.5.0/lib/glib2.so (LoadError) The missing procedure is DllMain(). If we add empty DllMain(), we can avoid the error. Generally, DllMain() is optional but it's required when we use "-lintl" build option. I think that this is a gettext (libintl) related problem but add this workaround for now. We can remove this workaround once we found the real problem.
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW Opening JIRAs ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename pull request title in the following format?
or
See also: |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Kou!
Benchmark runs are scheduled for baseline = c4ef048 and contender = bbbe668. bbbe668 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
RubyInstaller bundles libintl-8.dll but libintl-8.dll's ABI in MSYS2 is changed since
mingw-w64-x86_64-gettext 0.21-1. It requires DllMain() but bundled libintl-8.dll doesn't
provide DllMain() yet. So we build glib2 gem that depends on gettext with new gettext,
we need to use new libintl-8.dll too. But bundled libintl-8.dll is used.
Ruby 3.1 based RubyInstaller doesn't bundle libintl-8.dll. So we can avoid this error
by using Ruby 3.1.
The next Ruby 3.0 based RubyInstaller release will bundle new libintl-8.dll. So it will
be solved eventually.