【问题标题】:Lion: Problem with RVM installing rubies - problem related to opensslLion:RVM 安装 rubies 的问题 - 与 openssl 相关的问题
【发布时间】:2011-11-23 21:25:39
【问题描述】:

我很绝望,在两天(!!)天都没有解决以下问题。

更新 Lion 后,我想使用最新版本的 rvm 安装其他 rubies。

当我之后调用 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​​ 编译但我收到相同的错误 Symbol not found: _SHA1_Init.

所以我从之前放在那里的 openssl 头文件 bn.h 中删除了 cmets,然后尝试了相反的方法。我在 ~/.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

同样的结果。

我很绝望。任何人都可以帮忙吗? 问候 费利克斯

【问题讨论】:

    标签: ruby openssl rvm osx-lion


    【解决方案1】:

    对于任何应该在 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
    

    这行不通。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我已经准备好了,从 1.8.6 到 1.8.7、1.9.1 和 1.9.2 的版本与许多应用程序的许多 gemset 一起工作。它根本不适用于 Lion。
      • 您是升级还是全新安装?该教程对我全新的 Lion 安装非常有用。
      • 嘿 Zepplock,我已从 SnowLeopard 安装升级。不幸的是,这篇文章没有揭示出我似乎遇到的问题。我不明白为什么首先标题定义会发生冲突,而在消除冲突后,功能本身就会丢失。希望能得到一些关于这个方向的提示。无论如何谢谢。
      • 附带说明,我建议全新安装。也买个SSD。性能上的巨大差异。我只花了半天时间就重新安装了所有应用程序。
      • 我确信 OSX 是一个操作系统,没有像 M$ 衍生产品那样的重新安装系统。
      猜你喜欢
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多