openssl compilation fails for ruby-1.8.2-preview2 on redhat 7.2

B

Bil Kleb

gcc -fPIC -g -O2 -I. -I/mnt/local/md/d0/local/pkgs/ruby-1.8.2.S -I/mnt/local/md/d0/local/pkgs/ruby-1.8.2.S -I/mnt/local/md/d0/local/pkgs/ruby-1.8.2.S/ext/openssl -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_ASSERT_H -DHAVE_OPENSSL_SSL_H
-DHAVE_OPENSSL_CONF_API_H -DHAVE_BN_RAND_RANGE -DHAVE_VA_ARGS_MACRO -DHAVE_OPENSSL_ENGINE_H -DHAVE_ENGINE_ADD -c ossl_pkey_dh.c
ossl_pkey_dh.c: In function `ossl_dh_is_private':
ossl_pkey_dh.c:181: structure has no member named `engine'
make[1]: *** [ossl_pkey_dh.o] Error 1

How do I disable it to continue?

Thanks,
 
V

Ville Mattila

Bil said:
gcc -fPIC -g -O2 -I. -I/mnt/local/md/d0/local/pkgs/ruby-1.8.2.S
-I/mnt/local/md/d0/local/pkgs/ruby-1.8.2.S
-I/mnt/local/md/d0/local/pkgs/ruby-1.8.2.S/ext/openssl -DHAVE_UNISTD_H
-DHAVE_SYS_TIME_H -DHAVE_ASSERT_H -DHAVE_OPENSSL_SSL_H
-DHAVE_OPENSSL_CONF_API_H -DHAVE_BN_RAND_RANGE -DHAVE_VA_ARGS_MACRO
-DHAVE_OPENSSL_ENGINE_H -DHAVE_ENGINE_ADD -c ossl_pkey_dh.c
ossl_pkey_dh.c: In function `ossl_dh_is_private':
ossl_pkey_dh.c:181: structure has no member named `engine'
make[1]: *** [ossl_pkey_dh.o] Error 1

This error comes from the fact that installed openssl is too old.
Try to compile OpenSSL 0.9.7d. Install it for example
/usr/local/openssl-0.9.7 and configure ruby to use it e.g. ./configure
.... --with-openssl-dir=/usr/local/openssl-0.9.7 ... Note you have to
set LD_LIBRARY_PATH to have new openssl lib path.
 
B

Bil Kleb

Ville said:
This error comes from the fact that installed openssl is too old.
Try to compile OpenSSL 0.9.7d.

I am mostly autoconf-ignorant. I this version dependency something
that autoconf could be trained to detect?

Regards,
 
V

Ville Mattila

Bil Kleb said:
I am mostly autoconf-ignorant. I this version dependency something
that autoconf could be trained to detect?
Autoconf should detect correct OpenSSL compilation defines, so that
it builds ruby openssl with the features that are available OpenSSL
package. I think your error is caused by mismatched openssl headers.
Ruby autoconf finds that there is engine member available, but in
compilation phase the error occurs.
You could check if you have multiple openssl.h in your compilation
environment and delete unnecessary ones.

- Ville
 
B

Booker C. Bense

-----BEGIN PGP SIGNED MESSAGE-----

I am mostly autoconf-ignorant. I this version dependency something
that autoconf could be trained to detect?

_ That's the problem actually, it's detecting one version and
using another. I have the same problem locally and it's a royal
PITA if both libraries are in the default path for gcc. If at all
possible make sure only one openssl is installed. I tried a bunch
of autoconf foo to get around this and none of it worked.

_ I would really like a "Don't use ssl_engine no matter what"
option. I guess I'll have to write though...

_ Booker C. Bense




-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBQW2B2GTWTAjn5N/lAQHGYgP/VuOhPmnP7Rs8znO41jZawiks1my+7nD+
MSya5PKo1gaqRMsXDyMOksYeFZBCvz/CPQEYZfH6U/9zyoi+nbVqc98l7got7777
Xi0V1J8jIehANIiOWkaSraJ/457GCwLq3ZbOCpTuAcCTfKJR5004z4cZOQmZuOxd
K0B22uj8C/Q=
=nJnc
-----END PGP SIGNATURE-----
 

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
474,262
Messages
2,571,049
Members
48,769
Latest member
Clifft

Latest Threads

Top