2013-03-19 127 views
9

嗨安装Ruby 1.9.3当我尝试使用下面的代码安装通过RVM红宝石:Openssl的错误消息,安装日志在Mac OSX 10.6.8

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里的文件:

In file included from openssl_missing.c:22: 450 openssl_missing.h:71: error: conflicting types for ‘HMAC_CTX_copy’

451 /Users/Sebastian/.rvm/usr/include/openssl/hmac.h:102: error: previous declaration of ‘HMAC_CTX_copy’ was here

452 openssl_missing.h:95: error: conflicting types for ‘EVP_CIPHER_CTX_copy’

453 /Users/Sebastian/.rvm/usr/include/openssl/evp.h:503: error: previous declaration of ‘EVP_CIPHER_CTX_copy’ was here

454 openssl_missing.c:27: error: conflicting types for ‘HMAC_CTX_copy’

455 /Users/Sebastian/.rvm/usr/include/openssl/hmac.h:102: error: previous declaration of ‘HMAC_CTX_copy’ was here

456 openssl_missing.c:122: error: conflicting types for ‘EVP_CIPHER_CTX_copy’

457 /Users/Sebastian/.rvm/usr/include/openssl/evp.h:503: error: previous declaration of ‘EVP_CIPHER_CTX_copy’ was here

458 make[2]: [openssl_missing.o] Error 1

459 make[1]: [ext/openssl/all] Error 2

460 make: [build-ext] Error 2

我读过,这可能与MacPorts的安装,但我确信我删除了与此相关的一切。

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

我很感激你对此的帮助。

谢谢

+1

同样的问题在这里,没有任何解决方法为我工作..只有降级'rvm'发挥了诀窍:'rvm get 1.10.0' – fguillen 2013-10-01 12:17:33

回答

0

我也遇到过这个。尝试按照步骤here

基本上,在终端:

You can also install Homebrew and try this:

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

谢谢。我试着用brew的步骤更新openssl,但是当我运行'openssl version'时,我仍然得到指向/ usr/bin/openssl的最旧版本。 – Bastian 2013-03-19 17:17:26

+0

好的,那么您可能需要在搜索/ usr/bin之前更改PATH变量以指向Cellar目录。 – 2013-03-19 19:57:36

+1

我终于安装了'--with-openssh-dir = $ rvm_path/usr'行。到目前为止它的工作。 – Bastian 2013-03-22 20:46:58

8

我遇到了类似的问题在安装RVM的OpenSSL的PKG来测试驱动红宝石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命令来查看你清楚缺软件包复检要求。

  • 重新安装红宝石,在我的情况1.9.3-P392:

    $ rvm reinstall 1.9.3-p392

希望它能帮助!

+0

谢谢!我会尝试遵循这些步骤,如果我必须重新安装或当我升级到OSX 10.8。 – Bastian 2013-03-22 20:48:21

+1

问题可能是openssl-1.0.1。看起来像ruby是为了针对openssl-0.9.x而构建的。 我遇到了同样的错误建设ruby-2.0.0。这是我的解决方法:https://gist.github.com/timcharper/5778185 – 2013-06-14 01:01:05