Lion:RVM安装rubies的问题 - 与openssl相关的问题

时间:2011-09-23 18:13:50

标签: ruby openssl rvm osx-lion

我很沮丧,现在两个(!!)天都没有解决以下问题而没有解决方案。

更新Lion之后,我想使用最新版本的rvm安装其他红宝石。

以下是我之后调用bundler时会发生的事情:

/Users/felix/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/Users/janroesner/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/x86_64-darwin11.1.0/digest/sha1.bundle, 9): Symbol not found: _SHA1_Init (LoadError)

好的,openssl问题。所以我检查了没有openssl但是/ usr中的系统有/ usr / lib中的库和/ usr / include / openssl中的头文件。检查。

我决定使用brew安装更新版本。之后,没有ruby编译已经定义了BN_rand_range和BN_peudo_rand_range的错误。

似乎是对最近的gcc进行更严格的类型检查,所以我在/usr/include/openssl/bn.h中取消注释导致冲突的411和412行导致ruby定义了它自己。现在ruby编译但我收到相同的错误符号未找到:_SHA1_Init。

所以我从openssl头文件bn.h中删除了注释,我之前放在那里并尝试相反。我在〜/ .rvm / src / ruby​​-1.9.2-p290 / ext / openssl / openssl_missing.h中对这些行进行了评论

同样的结果。

之后我完全删除了〜/ .rvm,重新安装它......并且有同样的问题。

现在我试过了:

rvm pkg install openssl
rvm remove 1.9.2-p290
rvm install 1.9.2-p290 -C --with-openssl-dir=$rvm_path/usr

同样的结果。

我很绝望。有人可以帮忙吗? 问候 菲利克斯

2 个答案:

答案 0 :(得分:14)

对于任何应该在Lion上遇到此问题的人......这是来自openssl的重复标题的一些问题。您可以在本地安装openssl并告诉rvm使用该本地openssl版本。

您可以使用前缀/ usr / local手动编译opnessl,或者只是让rvm完成工作:

rvm pkg install openssl

然后告诉rvm在ruby安装期间链接该版本:

rvm install 1.9.2 --with-openssl-dir=/path/to/your/home/.rvm/usr

如果您已将本地安装替换为:

rvm install 1.9.2 --with-openssl-dir=/usr/local

不要尝试经常阅读的内容:

rvm install 1.9.2 -C --with-openssl-dir=/path/to/your/home/.rvm/usr

这不起作用。

答案 1 :(得分:0)

我刚刚完成了本教程,它没有任何问题:获取Rails:http://www.frederico-araujo.com/2011/07/30/installing-rails-on-os-x-lion-with-homebrew-rvm-and-mysql/