【发布时间】: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
同样的结果。
我很绝望。任何人都可以帮忙吗? 问候 费利克斯
【问题讨论】: