make[1]: Entering directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/gdbm'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/gdbm'
compiling iconv
make[1]: Entering directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/iconv'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/iconv'
compiling io/wait
make[1]: Entering directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/io/wait'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/io/wait'
compiling nkf
make[1]: Entering directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/nkf'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/nkf'
compiling openssl
make[1]: Entering directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/openssl'
gcc -I/opt/local/include -I. -I/opt/local/include -I../.. -I../../. -
I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\" -fPIC -g -O2
-c ossl_x509cert.c
In file included from ossl.h:205,
from ossl_x509cert.c:11:
openssl_missing.h:71: error: conflicting types for 'HMAC_CTX_copy'
/usr/local/include/openssl/hmac.h:102: error: previous declaration of
'HMAC_CTX_copy' was here
openssl_missing.h:95: error: conflicting types for
'EVP_CIPHER_CTX_copy'
/usr/local/include/openssl/evp.h:459: error: previous declaration of
'EVP_CIPHER_CTX_copy' was here
ossl_x509cert.c: In function 'ossl_x509_inspect':
ossl_x509cert.c:693: warning: initialization discards qualifiers from
pointer target type
make[1]: *** [ossl_x509cert.o] Error 1
make[1]: Leaving directory `/tmp/ruby-enterprise-1.8.7-2011.03/source/
ext/openssl'
make: *** [all] Error 1
经多方折腾,结果是
因为我手工升级了 openssl 到 1.0 , Ruby 源码安装时用到 openssl 并且必须时 0.9.8X
解决方案
501 apt-get source openssl
502 ls
503 cd openssl-0.9.8g/
504 ls
505 ./config --prefix=/opt/openssl-0.9.8g --openssldir=/opt/openssl-0.9.8g/openssl
506 make
507 make install
508 cd ..
509 tar xzvf ruby-enterprise-1.8.7-2011.03.tar.gz
510 cp -r /opt/openssl-0.9.8g/include/openssl/ ./ruby-enterprise-1.8.7-2011.03/source/
511 ls ./ruby-enterprise-1.8.7-2011.03/source/
512 rm -rf /opt/ruby-enterprise-1.8.7-2011.03/
513 cd ruby-enterprise-1.8.7-2011.03/
514 ./installer