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

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
799443e8fa20dc3598d7d2d1e30048d5?d=identicon&s=25 Phor Gruber (phor_gruber)
on 2009-02-27 03:01
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/rubyge...
  - 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?
6e366eb5a71be2bad7f383d42aeb4788?d=identicon&s=25 Justin Collins (Guest)
on 2009-02-27 03:38
(Received via mailing list)
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


> libssl-ocaml-dev - OCaml bindings for OpenSSL
> 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
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 Eric Hodel (Guest)
on 2009-02-27 03:45
(Received via mailing list)
On Feb 26, 2009, at 18:00, Phor Gruber wrote:
> 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.
799443e8fa20dc3598d7d2d1e30048d5?d=identicon&s=25 Phor Gruber (phor_gruber)
on 2009-02-27 07:51
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
799443e8fa20dc3598d7d2d1e30048d5?d=identicon&s=25 Phor Gruber (phor_gruber)
on 2009-02-27 07:53
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
5a837592409354297424994e8d62f722?d=identicon&s=25 Ryan Davis (Guest)
on 2009-02-27 08:06
(Received via mailing list)
On Feb 26, 2009, at 22:52 , Phor Gruber wrote:

> 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.
799443e8fa20dc3598d7d2d1e30048d5?d=identicon&s=25 Phor Gruber (phor_gruber)
on 2009-02-27 08:08
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
753dcb78b3a3651127665da4bed3c782?d=identicon&s=25 Brian Candler (candlerb)
on 2009-02-27 10:08
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.
799443e8fa20dc3598d7d2d1e30048d5?d=identicon&s=25 Phor Gruber (phor_gruber)
on 2009-02-28 01:29
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.
This topic is locked and can not be replied to.