Comments (7)
Wondering if you've had a chance to see if 1.1.1w works?
from puma.
This is a bit messy.
You appear to be using a RubyInstaller2 Ruby 3.1.x, and that Ruby is the last to use OpenSSL 1.1.1. You can check it with the following:
ruby -ropenssl -e "puts OpenSSL::OPENSSL_VERSION, OpenSSL::OPENSSL_LIBRARY_VERSION"
The output should be two lines, both should be the same 'basic' OpenSSL version. In your case, both lines should be
OpenSSL 1.1.1t 7 Feb 2023
So, two points:
- Use an OpenSSL package that matches the 'base' version of OpenSSL that Ruby was built with. In your case, that's OpenSSL 1.1.1.
- Use an OpenSSL package that was built with same build tools as your Ruby. Your Ruby was built with MSYS2 UCRT64 tools. JFYI, Ruby can be built with MSYS2 UCRT64, MSYS2 MINGW64, or MSWIN UCRT.
The current MSYS2 OpenSSL is version 3.2.1, so you need to manually download the package:
https://github.com/oneclick/rubyinstaller2-packages/releases/download/ci.ri2/mingw-w64-ucrt-x86_64-openssl-1.1.1.t-1-any.pkg.tar.zst
https://github.com/oneclick/rubyinstaller2-packages/releases/download/ci.ri2/mingw-w64-ucrt-x86_64-openssl-1.1.1.t-1-any.pkg.tar.zst.sig
Place both of the above in a folder without spaces, then run the following:
ridk exec pacman -U <folder>/mingw-w64-ucrt-x86_64-openssl-1.1.1.t-1-any.pkg.tar.zst
After installing the correct OpenSSL package, you should be able to install Puma. Remove the --with-openssl-dir
argument from your gem install command.
EDIT: If you want to use OpenSSL 3, install Ruby 3.2 or 3.3. For those Rubies, the command to install the package is:
ridk exec pacman -S mingw-w64-ucrt-x86_64-openssl
from puma.
Thank you for the answer, I will definitely check it out and let you know.
from puma.
You're welcome. I'm 'involved' with 'Windows Ruby', which has nothing to do with my involvement with Puma.
I'm pretty sure it should work for you.
I have built a 1.1.1.w package locally. If you'd like that, I could upload it somewhere. You'd need to add my signing key to your MSYS2 install (or you could temporarily disable the signing key check).
I just used it to build & test Ruby 3.1.4, and all ssl tests passed (with Puma master)...
I think the last official MSYS2 build was 1.1.1.s, see https://repo.msys2.org/mingw/ucrt64/
from puma.
Yes, that would be great, many thanks!
from puma.
See https://github.com/MSP-Greg/ruby-loco/releases/tag/old-ruby
I added some brief instructions for installation...
from puma.
@MSP-Greg hi, yes, thank you very much, it worked well.
from puma.
Related Issues (20)
- Phased-Restart Causes Action Cable Connection Loss on Rails App Restart HOT 3
- Add a hook for "before shutdown" HOT 6
- Systemd watchdog kills puma during hot restart. HOT 4
- NoMethodError: undefined method `release' for Rack:Module error at "rails s" initialization time HOT 5
- Staging environment, request.ENV['HTTP_HOST'] displays 2 urls when it should be a single url HOT 1
- HttpParserError raised when body (chunk) exceeds 4096 bytes does not end with "\r\n" HOT 4
- undefined method `log_writer' for #<Puma::Launcher on usin plugin :solid_queue in puma HOT 1
- `TestWorkerGemIndependence#test_changing_nio4r_version_during_phased_restart` fails in head builds
- Option to restrict cipher suites for TLS1.3
- Requests with a caret (`<` or `>`) in a query parameter raise a `Puma::HttpParserError` HOT 10
- Random freezes in dev mode
- Puma doesn't start the Rails app after run
- "undefined method `on_booted` for nil:NilClass" on "pumactl start" HOT 2
- Large number of workers are booting too long or not booting the first time HOT 4
- What options are not available when using `rails s`? HOT 1
- MAX_CHUNK_HEADER_SIZE = 4096 is too small for podman HOT 6
- Puma config get evaluated twice with pumactl HOT 3
- question about puma architecture
- Puma plugin in my Rails app
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puma.