在Mac OSX 10.6.8上安装ruby 1.9.3时,安装日志上出现Openssl错误消息

时间:2013-03-19 16:15:29

标签: ruby openssl install rvm osx-snow-leopard

您好我正在尝试使用以下代码通过rvm安装ruby:

CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --with-iconv-dir=$rvm_path/usr --with-openssh-dir=$rvm_path/usr

但是我在(安装)make.log文件中遇到错误:

  

在openssl_missing.c:22中包含的文件中:   450 openssl_missing.h:71:错误:'HMAC_CTX_copy'的冲突类型

     

451 /Users/Sebastian/.rvm/usr/include/openssl/hmac.h:102:错误:先前的'HMAC_CTX_copy'声明在这里

     

452 openssl_missing.h:95:错误:'EVP_CIPHER_CTX_copy'的冲突类型

     

453 /Users/Sebastian/.rvm/usr/include/openssl/evp.h:503:错误:先前的'EVP_CIPHER_CTX_copy'声明在这里

     

454 openssl_missing.c:27:错误:'HMAC_CTX_copy'的冲突类型

     

455 /Users/Sebastian/.rvm/usr/include/openssl/hmac.h:102:错误:先前的'HMAC_CTX_copy'声明在这里

     

456 openssl_missing.c:122:错误:'EVP_CIPHER_CTX_copy'的冲突类型

     

457 /Users/Sebastian/.rvm/usr/include/openssl/evp.h:503:错误:之前的'EVP_CIPHER_CTX_copy'声明就在这里

     

458 make [2]:[openssl_missing.o]错误1

     

459 make [1]:[ext / openssl / all]错误2

     

460 make:[build-ext]错误2

我已经读过这可能与macports安装有关,但我确保删除了与之相关的所有内容。

另一方面,在 / usr / bin / 的另一个位置有一个openssl文件。我不确定这是否会导致冲突,但我不敢删除它。

我很感激你的帮助。

谢谢

2 个答案:

答案 0 :(得分:8)

在将rvm的openssl pkg安装到testdrive ruby​​ 2.0.0后,我遇到了类似的问题。

经过一番摆弄后,以下问题解决了我:

  • 让您的rvm更新:

    $ rvm get head

  • 删除手动安装的软件包:

    $ rvm pkg remove

  • 直接满足要求:

    $ rvm requirements run

    我在这里找到了所需包裹缺失的清单:

   Installing requirements for osx/10.8/x86_64, might require sudo password
   Skipping `brew update` make sure your formulas are up to date.
-> Missing required packages: libtool, libxml2, libxslt, sqlite.
   Skipping update of certificates in '/usr/local/etc/openssl/cert.pem'.
  • 我“自制”了那些包裹:

    $ brew update

    $ brew install libtool libxml2 libxslt sqlite

您可以再次运行rvm requirements run命令来重新检查要求,以确定您没有丢失包。

  • 重新安装ruby,在我的情况下为1.9.3-p392:

    $ rvm reinstall 1.9.3-p392

希望它有所帮助!

答案 1 :(得分:0)

我也碰到了这个。请尝试执行here步骤。

基本上,在终端上:

  

您也可以安装Homebrew并尝试此操作:

$ brew update
$ brew install openssl
$ brew link openssl --force
$ brew install curl-ca-bundle