I try to install Ruby on a clean server.
Server was a Debian 6.0.9 which I upgraded to Debian 7.5
I've installed RBEnv with build-support via apt-get install.
When I try to install Ruby 1.9.3-p194 (summed in the list via ruby-build --definitions), I got an error the installation failed.
When I check the error in the log file, I got next error:
make[2]: Entering directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194/ext/openssl'
compiling ossl_pkey_rsa.c
compiling ossl_asn1.c
compiling callback-4.c
compiling ossl_x509.c
compiling ossl_pkcs5.c
compiling ossl_x509crl.c
compiling ossl_rand.c
compiling ossl_pkey_dsa.c
compiling ossl_x509cert.c
compiling ossl_ssl_session.c
compiling ossl_config.c
compiling callback-5.c
compiling ossl_engine.c
compiling ossl_pkey_ec.c
compiling ossl_bn.c
compiling ossl_x509name.c
compiling ossl_ssl.c
ossl_ssl.c: In function 'Init_ossl_ssl':
ossl_ssl.c:1982:5: error: 'SSL_OP_MSIE_SSLV2_RSA_PADDING' undeclared (first use in this function)
ossl_ssl.c:1982:5: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [ossl_ssl.o] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194/ext/openssl'
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
compiling callback-6.c
compiling callback-7.c
compiling callback-8.c
linking shared-object dl/callback.so
make[2]: Leaving directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194/ext/dl/callback'
make[1]: Leaving directory `/tmp/ruby-build.20140610073619.8858/ruby-1.9.3-p194'
make: *** [build-ext] Error 2
I've installed/updated the openSSL version (OpenSSL 1.0.1e 11 Feb 2013) and installed libssl-dev, but the error stays.
Anyone an idea what I'm missing to have SSL_OP_MSIE_SSLV2_RSA_PADDING declared? Is this an error in the Ruby-installation, or do I have a setup issue somewhere else?
All advice is welcome :)
(I already spend some time googling this, search on lot of sites, I guess I'm looking for the wrong solutions..)
-- Edit: I found Ruby 2.1 fails to install due to OpenSSL error where it said the macro is removed in latest OPEN_SSL, does this mean I cannot use Ruby 1.9.x anymore? When I list ruby versions available via rbenv, no stable ruby 2 is listed + I prefer to keep using Ruby 1.9. Should I downgrade open_ssl (not wise idea) or ?
It looks like the define was dropped sometime after 1.0.1e-2+deb7u6, certainly is not present in 1.0.1e-2+deb7u10.
I worked around this by adding
#define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x00000040L /* no effect since 0.9.7h and 0.9.8b */
back to /usr/include/openssl/ssl.h. (Picked from 1.0.1e-2+deb7u6)
Do at your own risk, I have not investigated what will happen if that value is passed.