您好我正在尝试使用以下代码通过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文件。我不确定这是否会导致冲突,但我不敢删除它。
我很感激你的帮助。
谢谢
答案 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)