Install/Enable openssl for ruby 1.8.6?

J

Jason Bornhoft

I was trying to install Redmine on rails 2.0.2 (this is not a rails
question) and I received the following error message:

no such file to load -- openssl

I went to /ruby-1.8.6/ext/openssl and typed make and received the
following error message:

make: Nothing to be done for `all'.


My question is: How can I install or enable openssl for ruby 1.8.6 in
order to complete my install for rails.

Thank you!
 
H

Howard Roberts

Jason said:
I went to /ruby-1.8.6/ext/openssl and typed make and received the
following error message:

make: Nothing to be done for `all'.


My question is: How can I install or enable openssl for ruby 1.8.6 in
order to complete my install for rails.

Thank you!

Jason,
I ran into the exact same issue recently. Make sure you have the Open
SSL development libraries and header files somewhere in a standard
location for compiling software, then try: make clean, configure, make,
and make install. You didn't specify which OS you do have, so, YMMV :)

HTH,
Howard
 
J

Jason Bornhoft

Thank you. I'm using a non-debian linux...

I installed openssl from scratch. Let me try what you've suggested.
 
J

Jason Bornhoft

Still getting the same error...

make: Nothing to be done for `all'.

How can I ensure that the headers and dev libraries are properly
installed?
 
E

Eric Hodel

Still getting the same error...

make: Nothing to be done for `all'.

How can I ensure that the headers and dev libraries are properly
installed?

You're sure you ran make clean first? If that still doesn't do it,
you'll have to re-run configure with the location of your openssl.
 
J

Jason Bornhoft

Eric said:
You're sure you ran make clean first? If that still doesn't do it,
you'll have to re-run configure with the location of your openssl.

Ok. I installed the openssl from source after I installed ruby. Can
that be my issue?
 
J

Jeremy Hinegardner

Ok. I installed the openssl from source after I installed ruby. Can
that be my issue?

Yes, that would do it. When you built ruby from scratch openssl was not
on your system. At that point ruby had no way of building the openssl
extension so it would of course exclude it.

If you are building ruby from scratch, then you must make sure that all
the dependencies that ruby requires and for the extensions you want to
build are already on the system.

enjoy,

-jeremy
 
E

Eric Hodel

Yes, that would do it. When you built ruby from scratch openssl was
not
on your system. At that point ruby had no way of building the openssl
extension so it would of course exclude it.

If you are building ruby from scratch, then you must make sure that
all
the dependencies that ruby requires and for the extensions you want to
build are already on the system.

a) unpack and install ruby
b) notice that openssl extension is missing
c) install openssl libs + headers # you are here
d) make clean in ruby
e) make and install ruby

should do it.

the first time around ruby generated a do-nothing Makefile for the
openssl bindings. make clean removes this empty makefile so that it
can be generated correctly. If you still don't have openssl after
that, you'll need to tell configure where you installed it.
 
J

Jason Bornhoft

Eric said:
a) unpack and install ruby
b) notice that openssl extension is missing
c) install openssl libs + headers # you are here
d) make clean in ruby
e) make and install ruby

should do it.

the first time around ruby generated a do-nothing Makefile for the
openssl bindings. make clean removes this empty makefile so that it
can be generated correctly. If you still don't have openssl after
that, you'll need to tell configure where you installed it.

Yeah its exactly as you say. Here is the output from the mkmf.log:

have_header: checking for openssl/ssl.h... -------------------- no

"gcc -E -I. -I/usr/local/lib/ruby/1.8/i686-linux -I. -g -O2 conftest.c
-o con$
In file included from /usr/include/openssl/ssl.h:179,
from conftest.c:1:
/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
checked program was:
/* begin */
1: #include <openssl/ssl.h>
/* end */
 
J

Jason Bornhoft

Jason said:
Yeah its exactly as you say. Here is the output from the mkmf.log:

have_header: checking for openssl/ssl.h... -------------------- no

"gcc -E -I. -I/usr/local/lib/ruby/1.8/i686-linux -I. -g -O2 conftest.c
-o con$
In file included from /usr/include/openssl/ssl.h:179,
from conftest.c:1:
/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
checked program was:
/* begin */
1: #include <openssl/ssl.h>
/* end */

--------------------

package configuration for openssl is not found

Thank you for all your help!


Problem solved! For anyone else with the same issue... here is what i
did:

install openssl:

./config --prefix=/usr/local --openssldir=/usr/local/ssl
make
make test
make install (as root)
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make
make install (as root)
cd /usr/local/ssl/lib
cp * /usr/lib

To avoid getting the following error later when you compile OpenSSH:

configure: error: Your OpenSSL headers do
not match your library

copy all the SSL include files everywhere:

cd /home/tjnelson/openssl/openssl-*
cd include/openssl
cp * /usr/include
cp * /usr/local/ssl/include
cp * /usr/local/ssl/include/openssl

and then add /usr/local/ssl/lib to /etc/ld.so.conf and type

ldconfig

Then i returned to ruby-*/ext/openssl and ran:

ruby extconf.rb
make clean
make
make install

worked like a charm!!!

thanks for all of your help
 
E

Eric Hodel

Yeah its exactly as you say. Here is the output from the mkmf.log:

have_header: checking for openssl/ssl.h... -------------------- no

"gcc -E -I. -I/usr/local/lib/ruby/1.8/i686-linux -I. -g -O2
conftest.c
-o con$
In file included from /usr/include/openssl/ssl.h:179,
from conftest.c:1:
/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
checked program was:
/* begin */
1: #include <openssl/ssl.h>
/* end */

It sounds like your base openssl headers are broken. You should file
a bug with your OS and include this output.
 

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

No members online now.

Forum statistics

Threads
473,967
Messages
2,570,148
Members
46,694
Latest member
LetaCadwal

Latest Threads

Top