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:
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?
Phor G. 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.
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
Justin C. 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
On Feb 26, 2009, at 18:00, Phor G. 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.
Eric H. wrote:
Firstoff, does /rho/bin/ruby -ropenssl -e0
work?
No it does not work.
I cannot find openssl.rb anywhere under /rho
-Phor
On Feb 26, 2009, at 22:52 , Phor G. wrote:
Eric H. 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.
Eric H. 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:
- t_open in -lnsl … no
- 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
Brian C. 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.
Phor G. 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.