Project

General

Profile

Actions

Bug #21329

closed

`date_core.so` is broken with the recent MSYS2 update

Bug #21329: `date_core.so` is broken with the recent MSYS2 update

Added by hsbt (Hiroshi SHIBATA) 10 months ago. Updated 9 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:122036]

Description

From https://github.com/ruby/psych/issues/730 and https://github.com/nobu/rdoc/actions/runs/14969443434/job/42046842539#step:5:35

Error: test_accept_blank_line(RDocMarkupToAnsiTest): LoadError: 127: The specified procedure could not be found.   - D:/a/rdoc/rdoc/vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date_core.so
C:/hostedtoolcache/windows/Ruby/3.3.8/x64/lib/ruby/3.3.0/bundled_gems.rb:69:in `require'

@MSP-Greg (Greg L) investigate that at https://github.com/ruby/setup-msys2-gcc/pull/26#issuecomment-2874726461.

Updated by deivid (David Rodríguez) 10 months ago 1Actions #1 [ruby-core:122044]

Some debugging happening at https://github.com/ruby/date/pull/125 already! Should this be moved to the date repo, by the way?

Updated by hsbt (Hiroshi SHIBATA) 10 months ago Actions #2 [ruby-core:122085]

We need to backport fix if the problem is our side. This ticket is reminder for that.

Updated by ntkme (Natsuki Natsume) 10 months ago · Edited 1Actions #3 [ruby-core:122108]

https://github.com/ruby/setup-msys2-gcc/pull/26#issuecomment-2877229861

The root cause is that the extension is compiled against a newer version of libwinpthread-1.dll and headers from msys2, but at the runtime ruby always load $rubyPrefix\bin\ruby_builtin_dlls\libwinpthread-1.dll which is an older version.

I don't think there is much we can do here.

As for ruby/setup-ruby, our plan is to downgrade msys2's libwinpthread-1.dll for all old rubies that bundle the old version of it, so that the compile time version and runtime version would be compatible.

Updated by valture (Takayuki Kamiyama) 10 months ago · Edited Actions #4 [ruby-core:122179]

Hello, nice to meet you.

I'm a Windows user.

As for this problem,

in the following folder of msys2 installed by scoop

C:\Users\username\scoop\apps\msys2\current\ucrt64\bin

libwinpthread-1.dll

C:\Users\username\scoop\apps\ruby\current\bin\ruby_builtin_dlls

Overwrite the same file above,

gem uninstall date

gem install date

This can be solved. There is no need to modify anything else.

I'll leave a comment here.

This helped me avoid the build error in my Windows 11 24H2 environment.

※ I use scoop to manage ruby, msys2, etc.

ridk install 1 2 3

※ libwinpthread-1.dll, if not present, install it manually.

I'll share the information.

Reference URL: GitHub/date, issue126

Updated by ntkme (Natsuki Natsume) 9 months ago · Edited 1Actions #5 [ruby-core:122263]

For rubyinstaller2 the issue is fixed with 3.4.4 release, and the fix will be backported to 3.3.9 and 3.2.9 whenever they get released.

For ruby/setup-ruby on windows, workaround has been applied for all older ruby versions that all versions should work.

Updated by hsbt (Hiroshi SHIBATA) 9 months ago Actions #6 [ruby-core:122391]

  • Status changed from Open to Closed

There is no action by ruby core side.

Actions

Also available in: PDF Atom