设置RVM和Ruby 187后,在Ubuntu上获取未定义符号的错误:rb_Digest_SHA1_Init

时间:2011-09-01 14:15:13

标签: ruby-on-rails ruby ubuntu-11.04

gourav@ubuntu$ bundle install

/home/gourav/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/i686-linux/digest/sha1.so:

undefined symbol: rb_Digest_SHA1_Init - 

/home/gourav/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/i686-linux/digest/sha1.so

gourav@ubuntu$ gem li

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.10)
actionpack (3.0.10)
activemodel (3.0.10)
activerecord (3.0.10)
activeresource (3.0.10)
activesupport (3.0.10)
arel (2.0.10)
builder (2.1.2)
bundler (1.0.18)
erubis (2.6.6)
i18n (0.5.0)
mail (2.2.19)
mime-types (1.16)
polyglot (0.3.2)
rack (1.2.3)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.10)
railties (3.0.10)
rake (0.9.2)
rdoc (3.9.2)
thor (0.14.6)
treetop (1.4.10)
tzinfo (0.3.29)

3 个答案:

答案 0 :(得分:4)

运行rvm notes并确保运行它告诉你的任何内容,然后重新编译(rvm install 1.8.7)ruby。

最有可能的是,如果您使用的是当前的RVM,您将被告知要执行此操作:

apt-get install build-essential bison openssl libreadline6 libreadline6-dev 
                curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev 
                libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev 
                autoconf libc6-dev ncurses-dev automake

答案 1 :(得分:0)

我在没有使用rvm的CentOS服务器上遇到此问题。运行脚本/控制台时,ruby会抱怨 rb_Digest_SHA1_Init 。运行脚本/服务器时,ruby会抱怨 rb_Digest_MD5_Init

经过多次重建ruby之后,以及安装(通过yum)此帖子和其他帖子建议的所有额外软件包后,最终为我修复的内容是添加了 - enable-pthread 配置ruby构建时。

所以,

安装Dylan Markow建议的所有开发工具。如果使用yum,请运行

yum search <name>

其中是'ncurses-dev'或'libxml2-dev'的简化版本。关于这个主题的所有其他帖子都使用apt-get,这给我浪费了很多时间。

使用--enable-pthread参数重建ruby;

./configure --enable-pthread && make && make install

答案 2 :(得分:0)

我得到了同样的错误。 我试图卸载libssl-dev并修复了这个...现在我的ruby没有任何ssl支持。