Search code examples
rubyopenssl

Ruby 2.7.4 & 3.0.0 fails on macOS Big Sur (11.2.3): undeclared identifier RSA_SSLV23_PADDING


Trying to install Ruby 2.7.4 & Ruby 3 on Intel Mac 11.2.3 and I'm seeing the following error during compilation (installing using ruby-install (https://github.com/postmodern/ruby-install). I'm seeing the following error:

                                                   ^
ossl_pkey_rsa.c:942:5: error: use of undeclared identifier 'RSA_SSLV23_PADDING'
    DefRSAConst(SSLV23_PADDING);
    ^
ossl_pkey_rsa.c:877:58: note: expanded from macro 'DefRSAConst'
#define DefRSAConst(x) rb_define_const(cRSA, #x, INT2NUM(RSA_##x))
                                                         ^
<scratch space>:144:1: note: expanded from here
RSA_SSLV23_PADDING
^
107 warnings and 1 error generated.
make[2]: *** [ossl_pkey_rsa.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2
!!! Compiling ruby 2.7.4 failed!

Also, FYI:

❯ openssl version
LibreSSL 2.8.3

Solution

  • Just for future reference, if someone is facing something similar with rvm just uninstall openssl@3 using brew and instead install [email protected]

    Edit: In recent RVM versions this has been fixed, but still needs path to openssl

    rvm install ruby-<version> --with-openssl-dir=$(brew --prefix [email protected])