Opened 8 years ago

Closed 8 years ago

#50834 closed defect (fixed)

ruby21 @ 2.1.8_0 - "Symbol not found: _SSLv2_client_method"

Reported by: pioto (Mike Kelly) Owned by: kimuraw (kimura wataru)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: wlipa (Bill Lipa), SickTeddyBear
Port: ruby19 ruby21 ruby22 ruby23

Description

After a recent upgrade of OpenSSL (I assume to resolve CVE-2016-0800), it seems that Ruby's OpenSSL module can't load anymore.

This breaks many things, including gem upgrade. Simplest way to reproduce this bug:

$ ruby -e 'require "openssl"'
/opt/local/lib/ruby2.1/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/opt/local/lib/ruby2.1/2.1.0/x86_64-darwin15/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError)
  Referenced from: /opt/local/lib/ruby2.1/2.1.0/x86_64-darwin15/openssl.bundle
  Expected in: /opt/local/lib/libssl.1.0.0.dylib
 in /opt/local/lib/ruby2.1/2.1.0/x86_64-darwin15/openssl.bundle - /opt/local/lib/ruby2.1/2.1.0/x86_64-darwin15/openssl.bundle
        from /opt/local/lib/ruby2.1/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/local/lib/ruby2.1/2.1.0/openssl.rb:17:in `<top (required)>'
        from /opt/local/lib/ruby2.1/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /opt/local/lib/ruby2.1/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from -e:1:in `<main>'

Change History (6)

comment:1 Changed 8 years ago by pioto (Mike Kelly)

I've also reproduced the issues with the "ruby19", "ruby22", and "ruby23" ports.

comment:2 Changed 8 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to kimuraw@…
Port: ruby19 ruby22 ruby23 added

In the future, please Cc the port maintainers (port info --maintainers ruby21), if any.

comment:3 Changed 8 years ago by wlipa (Bill Lipa)

Cc: dojo@… added

Cc Me!

comment:4 Changed 8 years ago by SickTeddyBear

Cc: amcgee@… added

Cc Me!

comment:5 Changed 8 years ago by pioto (Mike Kelly)

Simply rebuilding from source was sufficient to correct this:

$ sudo port upgrade --force -s ruby21
# wait a while...
$ ruby2.1 -e 'require "openssl"' -e 'puts OpenSSL::OPENSSL_LIBRARY_VERSION'
OpenSSL 1.0.2g  1 Mar 2016

So, I assume that a new build just has to be made, possibly with a revbump to go with it?

comment:6 Changed 8 years ago by kimuraw (kimura wataru)

Resolution: fixed
Status: newclosed

Thanks! I've rebbumped ruby23, 22, 21, 20 and 19 at r146513.

Note: See TracTickets for help on using tickets.