安装 Ruby Enterprise Edition 出罕见错误

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


你可能感兴趣的:(C++,c,ext,C#,Ruby)