-
Notifications
You must be signed in to change notification settings - Fork 168
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
Windows 10 MSYS2 openssl-3.4.0 "LoadError - The specified procedure could not be found." #812
Comments
Try using |
Both seem to be installed. Is there a way to force the package? I use these commands to install it
and then pacman shows the following:
|
I could repro the issue. I haven't been in OpenSSL for a few months. It appears that OpenSSL 3.4 and 3.3 have some differences. If I rename the OpenSSL dll's in Ruby's If you don't want to copy the dlls, you can get the OpenSSL 3.3.x packages from https://repo.msys2.org/mingw/ucrt64/. You'll have to uninstall Ruby OpenSSL 3.2.0 and reinstall it. |
Thanks. I copied |
I noticed our CI builds with Ruby 3.2 and 3.3 have been broken with a similar error message. Could this be the same issue? https://github.com/ruby/openssl/actions/runs/11578248737/job/32231644029
However, builds with Ruby master don't share the issue even with OpenSSL 3.4.0: rubyinstaller2: https://github.com/ruby/openssl/actions/runs/11578248737/job/32231645011
|
Yes, it is. Both MSYS2 and MSFT/vcpkg have updated to OpenSSL 3.4.0. CI is compiling with 3.4.0, but loading 3.3.z dll's. I don't recall seeing a 'policy' statement re OpenSSL 3.y compatibility. Is this a bug in 3.4.0? IIRC, in the past, one could compile with 3.3, and the code would run with 3.2 dlls. To fix this will require some work in Also, is this a Windows specific issue? Obviously, the issue is related to Windows builds including their dll files. |
Using a newer OpenSSL version at run time than the compile time is supported, as long as the major version number matches, which is "1.0", "1.1", or "3" for OpenSSL, but downgrading likely isn't. I haven't been able to reproduce it locally, but if it's what's happening here, it seems like the problem.
Other CI builds in ruby/openssl should be using the same OpenSSL installation for compiling and testing. |
Did some more testing. Both Puma & EventMachine compile ext code with OpenSSL. They both passed CI where the Ruby under test bundled 3.3 dlls, but the ext was compiled with 3.4 files. Puma passed with Ruby master builds (all 3.4), but EventMachine failed. The issue was with
Yes. That gets rather messy. I don't recall every trying it on macOS or Ubuntu... |
I think it can happen to work, but nothing guarantees it. I suspect this is the change causing it to break for ruby/openssl (though I didn't actually verify it - I just found it by ruby/openssl uses
This is separate and is due to a behavior change (a stricter error checking) in OpenSSL 3.4. ruby/openssl also had to fix a test case affected by this in #747. |
Not able to
require 'openssl'
on Windows after updating the MSYS2 openssl library. I'm able to install it and I see the openssl.so file but it still doesn't run.Computer info
The text was updated successfully, but these errors were encountered: