Undefined symbol: rb_Digest_MD5_Init


#1

Hi,

I am trying to run a program (s3sync) written in Ruby, but I am getting
the following error. Its seems to be complaining about the md5.so I am
using red hat 5.1 and ruby 1.8.7.

./s3sync.rb
/usr/local/lib/ruby/1.8/i686-linux/digest/md5.so:
/usr/local/lib/ruby/1.8/i686-linux/digest/md5.so: undefined symbol:
rb_Digest_MD5_Init - /usr/local/lib/ruby/1.8/i686-linux/digest/md5.so
(LoadError)
from /usr/local/lib/ruby/1.8/md5.rb:6
from ./s3sync.rb:23:in `require’
from ./s3sync.rb:23

Any ideas?

I verified that the file
/usr/local/lib/ruby/1.8/i686-linux/digest/md5.so is on my filesystem.


#2

Hi,

At Mon, 13 Oct 2008 17:20:10 +0900,
Will Will wrote in [ruby-talk:317524]:

I am trying to run a program (s3sync) written in Ruby, but I am getting
the following error. Its seems to be complaining about the md5.so I am
using red hat 5.1 and ruby 1.8.7.

./s3sync.rb
/usr/local/lib/ruby/1.8/i686-linux/digest/md5.so:
/usr/local/lib/ruby/1.8/i686-linux/digest/md5.so: undefined symbol:
rb_Digest_MD5_Init - /usr/local/lib/ruby/1.8/i686-linux/digest/md5.so
(LoadError)

Seems that md5init.o was compiled without openssl/md5.h but
md5.o was with it or the routines in openssl are used. How did
you compiled it?


#3

I had a similar issue last week with the md5.so and was advised to
downgrade to Ruby 1.8.6. I did so and that particular issue I was
having went away. Apparently there needs to be a complete recompile of
the md5 source code for each platform in Ruby 1.8.7. I’m not sure who
would be responsible to go do that.