[ruby-core:113013] [Ruby master Bug#19115] RubyGems fails to detect OpenSSL in --with-static-linked-ext builds
From:
"nagachika (Tomoyuki Chikanaga) via ruby-core" <ruby-core@...>
Date:
2023-03-25 06:03:58 UTC
List:
ruby-core #113013
Issue #19115 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: REQUIRED to 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: DONE
ruby_3_1 5c5a1135b2e688eca7dbc7ce085f37a4d9fa3fd1 merged revision(s) 790cf4b6d0475614afb127b416e87cfa39044d67.
----------------------------------------
Bug #19115: RubyGems fails to detect OpenSSL in --with-static-linked-ext builds
https://bugs.ruby-lang.org/issues/19115#change-102548
* Author: thomthom (Thomas Thomassen)
* Status: Closed
* Priority: Normal
* ruby -v: 3.1.2, 3.2.0dev
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: DONE
----------------------------------------
Related discussion: https://bugs.ruby-lang.org/issues/18876
We are seeing OpenSSL failing to autoload with the Ruby build we've been using. (We first observed this when using `Gem.install` that relies on autoload of OpenSSL). Our last working build was Ruby 2.7.2 with similar config.
This causes RubyGems' `HAVE_OPENSSL` constant to be incorrectly initialized, and subsequent calls to `Gem.install` fails. There might be other scenarios that fail as a result of that, but we've not managed to identified that.
```
module Gem
HAVE_OPENSSL = defined? OpenSSL::SSL # :nodoc:
```
Our Ruby 3.1.2 config:
```
'--prefix=/Users/user/.conan/data/ruby/3.1.2/sketchup/stable/build/bd95825b99dcb274d0e577fbdc953653a9ea0fb9'
'--with-openssl-dir=/Users/user/.conan/data/openssl/1.1.1q/sketchup/stable/package/93ae0b0e7eebe0611c04d3e0d9bbf49fbce92332'
'--with-libyaml-dir=/Users/user/.conan/data/libyaml/0.2.5/sketchup/stable/package/a56a950abed2e10dbdc26845400f0a034d97c454'
'--disable-install-doc'
'--disable-install-rdoc'
'--enable-shared'
'--enable-load-relative'
'--with-static-linked-ext'
'--without-debug'
'--without-gdbm'
'--without-gettext'
'--without-irb'
'--without-mkmf'
'--without-rdoc'
'--without-readline'
'--without-tk'
'--bindir=${prefix}/bin'
'--sbindir=${prefix}/bin'
'--libexecdir=${prefix}/bin'
'--libdir=${prefix}/lib'
'--includedir=${prefix}/include'
'--oldincludedir=${prefix}/include'
'--datarootdir=${prefix}/share' 'cflags=-mmacosx-version-min=10.14 -fdeclspec' 'cxxflags=-mmacosx-version-min=10.14 -fdeclspec' 'LDFLAGS=-mmacosx-version-min=10.14 -fdeclspec'
```
We also tested with latest build from master (November 8th 2022):
```
./ruby -ve 'p RbConfig::CONFIG["configure_args"]'
ruby 3.2.0dev (2022-11-07T19:35:21Z master b14f133054) [x86_64-darwin20]
" '--prefix=/Users/vmehta/ruby/ruby-master/' '--with-openssl-dir=/Users/vmehta/.conan/data/openssl/1.1.1q/sketchup/stable/package/f2d937af1fa19d5fc4095849a65d1927e9e75ae7/' '--with-libyaml-dir=/Users/vmehta/.conan/data/libyaml/0.2.5/sketchup/stable/package/3fc084e254210603a5c5aece184b2d45e2509b30' '--disable-install-doc' '--disable-install-rdoc' '--enable-shared' '--enable-load-relative' '--with-static-linked-ext' '--without-debug' '--without-gdbm' '--without-gettext' '--without-irb' '--without-mkmf' '--without-rdoc' '--without-readline' '--without-tk'"
```
Using an RVM of Ruby 3.1.2 this appear to work as expected. But using out configuration, that we've used for the Ruby 2.x versions are now failing. We haven't been able to figure out the reason for this.
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/