Problem with new ruby install and openssl.rb (on Ubuntu)

P

Phor Gruber

ruby-talkers,

I've bumped into an issue with ruby and ssl.

I'm trying to run a rake command which aborts because it cannot find
openssl.rb.


I followed these steps:

- mkdir /rho; chown phor /rho
- wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.bz2
- tar jxf ruby-1.8.7-p72.tar.bz2
- cd ruby-1.8.7-p72
- vi ext/Setup and uncomment these lines:
bigdecimal
curses
digest
digest/md5
digest/rmd160
digest/sha1
digest/sha2
iconv
openssl
readline
socket
strscan
thread
zlib


- ./configure --prefix=/rho
- make
- make install
- create a 1-line file (in /rho/.rho) and then dot-it: export
PATH=/rho/bin:${PATH}:.

I saw this:

$ /rho/bin/ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

Next, I installed gems:

- wget gems: wget
http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
- tar zxf rubygems-1.3.1.tgz
- cd rubygems-1.3.1; ruby setup.rb --no-rdoc --no-ri

I saw this:

$ /rho/bin/gem -v
1.3.1

Next, I installed rails:

gem install rails --no-rdoc --no-ri

I saw this:

$ /rho/bin/rails -v
Rails 2.2.2

Next, I did this:

$ gem install rspec-rails rake --no-rdoc --no-ri

I saw this:

$ /rho/bin/gem list

*** LOCAL GEMS ***

actionmailer (2.2.2)
actionpack (2.2.2)
activerecord (2.2.2)
activeresource (2.2.2)
activesupport (2.2.2)
rails (2.2.2)
rake (0.8.3)
rspec (1.1.12)
rspec-rails (1.1.12)


Next, I did this:

cd ~/software/
git clone git://github.com/rhomobile/rhosync.git
mkdir log; touch log/development.log
/rho/bin/rake gems:install

I saw this:

(in /phor/software/rhosync)
rake aborted!
no such file to load -- openssl
(See full trace by running task with --trace)

To me,
It looks like openssl.rb is missing somewhere.

I assume it should be under /rho which is where I installed ruby.

I'm on ubuntu-linux and I do see openssl development packages inside of
my OS:

$ apt-cache search libssl
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
dcmtk - The OFFIS DICOM toolkit command line utilities
libdcmtk1 - The OFFIS DICOM toolkit runtime libraries
libdcmtk1-dev - The OFFIS DICOM toolkit development libraries and
headers
libssl-ocaml - OCaml bindings for OpenSSL
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl-dev - SSL development libraries, header files and documentation
libssl0.9.8 - SSL shared libraries
libssl0.9.8-dbg - Symbol tables for libssl and libcrypto

Also, I see this:

$ apt-cache search libopenssl-ruby
libopenssl-ruby - OpenSSL interface for Ruby
libopenssl-ruby1.9 - OpenSSL interface for Ruby 1.9
ruby1.8 - Interpreter of object-oriented scripting language Ruby 1.8
libopenssl-ruby1.8 - OpenSSL interface for Ruby 1.8

Clues anyone?
 
J

Justin Collins

Phor said:
ruby-talkers,

I've bumped into an issue with ruby and ssl.

I'm trying to run a rake command which aborts because it cannot find
openssl.rb.
<snip>


Try going to your ruby-1.8.7-p72/ext/zlib/ directory, then run:

ruby extconf.rb

If that succeeds, then:

make
make install

I'm on ubuntu-linux and I do see openssl development packages inside of
my OS:

$ apt-cache search libssl
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
dcmtk - The OFFIS DICOM toolkit command line utilities
libdcmtk1 - The OFFIS DICOM toolkit runtime libraries
libdcmtk1-dev - The OFFIS DICOM toolkit development libraries and
headers
libssl-ocaml - OCaml bindings for OpenSSL
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl-dev - SSL development libraries, header files and documentation
libssl0.9.8 - SSL shared libraries
libssl0.9.8-dbg - Symbol tables for libssl and libcrypto

Also, I see this:

$ apt-cache search libopenssl-ruby
libopenssl-ruby - OpenSSL interface for Ruby
libopenssl-ruby1.9 - OpenSSL interface for Ruby 1.9
ruby1.8 - Interpreter of object-oriented scripting language Ruby 1.8
libopenssl-ruby1.8 - OpenSSL interface for Ruby 1.8

Clues anyone?

Did you install Ruby via apt-get and by compiling it from the source?
Maybe you ended up with parallel versions?

-Justin
 
E

Eric Hodel

Next, I did this:

cd ~/software/
git clone git://github.com/rhomobile/rhosync.git
mkdir log; touch log/development.log
/rho/bin/rake gems:install

I saw this:

(in /phor/software/rhosync)
rake aborted!
no such file to load -- openssl
(See full trace by running task with --trace)

To me,
It looks like openssl.rb is missing somewhere.

Firstoff, does `/rho/bin/ruby -ropenssl -e0` work?

If it doesn't go back to the ruby source you built from and check ext/
openssl/mkmf.log

If you have openssl, are you sure that the Rakefile in this step is
running files under /rho/bin?

Also, I don't see output for rake --trace gems:install, it may give
you an answer to your problem.
 
P

Phor Gruber

Justin said:
Did you install Ruby via apt-get and by compiling it from the source?
Maybe you ended up with parallel versions?

-Justin

Justin,

Yes, I am trying to install a parallel version.
The 2nd version is from source.

-Phor
 
P

Phor Gruber

Eric said:
If it doesn't go back to the ruby source you built from and check ext/
openssl/mkmf.log

Eric,

I think you offer a good clue.

ext/openssl/mkmf.log is large so I will not post it here.

The first line inside of it looks interesting:

have_library: checking for t_open() in -lnsl... -------------------- no

I'm not a C programmer but it looks like the "no" at the end of the line
is telling me that something is missing.

Also the last line in the log file says this:

package configuration for openssl is not found

It's obvious that I need to help configure and/or make find the package
configuration for openssl.

Perhaps configure has a command line option that says all the libraries
are under /usr?

So it looks like I have 2 problems:
1. t_open in -lnsl ... no
2. configure does not know that openssl is where apt-get put it (under
/usr).

Anyone out there compile ruby from source and have openssl.rb get
created?

-Phor
 
B

Brian Candler

Phor said:
I'm on ubuntu-linux and I do see openssl development packages inside of
my OS:

$ apt-cache search libssl
cl-plus-ssl - A simple Common Lisp interface to OpenSSL
dcmtk - The OFFIS DICOM toolkit command line utilities
libdcmtk1 - The OFFIS DICOM toolkit runtime libraries
libdcmtk1-dev - The OFFIS DICOM toolkit development libraries and
headers
libssl-ocaml - OCaml bindings for OpenSSL
libssl-ocaml-dev - OCaml bindings for OpenSSL
libssl-dev - SSL development libraries, header files and documentation
libssl0.9.8 - SSL shared libraries
libssl0.9.8-dbg - Symbol tables for libssl and libcrypto

No you don't... apt-cache shows you which packages are *available* for
you to install, not ones you actually have installed.

To see what's installed, use: dpkg-query -l | grep ssl

Then most likely you'll want to do: apt-get install libssl-dev
Also, I see this:

$ apt-cache search libopenssl-ruby
libopenssl-ruby - OpenSSL interface for Ruby
libopenssl-ruby1.9 - OpenSSL interface for Ruby 1.9
ruby1.8 - Interpreter of object-oriented scripting language Ruby 1.8
libopenssl-ruby1.8 - OpenSSL interface for Ruby 1.8

If you were using Ubuntu's ruby1.8 package, then you could just install
Ubuntu's libopenssl-ruby.

But if you're building from source, you'll need libssl-dev.

HTH,

Brian.
 
P

Phor Gruber

Brian said:
To see what's installed, use: dpkg-query -l | grep ssl

Then most likely you'll want to do: apt-get install libssl-dev

But if you're building from source, you'll need libssl-dev.

HTH,

Brian.

Brian,
Your post was an enormous help.

dpkg-query is now my friend.

Now I see this:
$ /rho/bin/irb
irb(main):001:0> require 'openssl'
=> true
irb(main):002:0>

Thanks!!
-4

ps: another thing that I learned is that my editing of ext/Setup was
unnecessary.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,902
Latest member
Elena68X5

Latest Threads

Top