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

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?

···

--
Posted via http://www.ruby-forum.com/.

Phor Gruber wrote:

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

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.

···

On Feb 26, 2009, at 18:00, Phor Gruber wrote:

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.

Phor Gruber wrote:

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.

···

--
Posted via http://www.ruby-forum.com/\.

Justin Collins wrote:

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

···

--
Posted via http://www.ruby-forum.com/\.

Eric Hodel wrote:

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

No it does not work.

I cannot find openssl.rb anywhere under /rho

-Phor

···

--
Posted via http://www.ruby-forum.com/\.

Eric Hodel wrote:

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

···

--
Posted via http://www.ruby-forum.com/\.

Brian Candler wrote:

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.

···

--
Posted via http://www.ruby-forum.com/\.

Eric Hodel wrote:

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

No it does not work.

I cannot find openssl.rb anywhere under /rho

as eric said:

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

that'll have all the relevant info you need.

···

On Feb 26, 2009, at 22:52 , Phor Gruber wrote: