From: "Booker C. Bense" Date: 2004-12-01T04:12:48+09:00 Subject: openssl engine driving me nuts! -----BEGIN PGP SIGNED MESSAGE----- _ Ever since the engine stuff was added to the openssl module I've had a very difficult time building ruby in our local environment. For various reasons, we have two versions of openssl installed, I think I have finally got ruby to just look at one, but I'm getting this puzzling error. make[1]: Entering directory `/home/local/local/src/ruby/ruby-1.8.2/ext/openssl' gcc -fPIC -g -O2 -I. -I../.. -I../../. -I../.././ext/openssl - -DHAVE_UNISTD_H -DHAVE_SYS_TIME_H -DHAVE_ASSERT_H - -DHAVE_OPENSSL_SSL_H -DHAVE_OPENSSL_CONF_API_H -DHAVE_BN_MOD_ADD - -DHAVE_BN_MOD_SQR -DHAVE_BN_MOD_SUB -DHAVE_BN_PSEUDO_RAND_RANGE - -DHAVE_BN_RAND_RANGE -DHAVE_CONF_GET1_DEFAULT_CONFIG_FILE - -DHAVE_EVP_CIPHER_CTX_SET_PADDING -DHAVE_EVP_CIPHERFINAL_EX - -DHAVE_EVP_CIPHERINIT_EX -DHAVE_EVP_DIGESTFINAL_EX - -DHAVE_EVP_DIGESTINIT_EX -DHAVE_EVP_MD_CTX_CLEANUP - -DHAVE_EVP_MD_CTX_CREATE -DHAVE_EVP_MD_CTX_DESTROY - -DHAVE_EVP_MD_CTX_INIT -DHAVE_HMAC_CTX_CLEANUP - -DHAVE_HMAC_CTX_INIT -DHAVE_PEM_DEF_CALLBACK - -DHAVE_X509V3_SET_NCONF -DHAVE_X509_CRL_ADD0_REVOKED - -DHAVE_X509_CRL_SET_ISSUER_NAME -DHAVE_X509_CRL_SET_VERSION - -DHAVE_X509_CRL_SORT -DHAVE_VA_ARGS_MACRO -DHAVE_OPENSSL_ENGINE_H - -DHAVE_ENGINE_ADD -DHAVE_ENGINE_LOAD_BUILTIN_ENGINES - -DHAVE_ENGINE_GET_DIGEST -DHAVE_ENGINE_GET_CIPHER - -DHAVE_ENGINE_CLEANUP -c ossl.c In file included from ossl.h:50, from ossl.c:11: /usr/include/openssl/engine.h:579: syntax error before '*' token /usr/include/openssl/engine.h:580: syntax error before '*' token /usr/include/openssl/engine.h:583: syntax error before '}' token /usr/include/openssl/engine.h:616: syntax error before '*' token make[1]: *** [ossl.o] Error 1 make[1]: Leaving directory `/home/local/local/src/ruby/ruby-1.8.2/ext/openssl' make: *** [all] Error 1 Compilation exited abnormally with code 2 at Tue Nov 30 10:21:12 _ From what I can deduce, the openssl[1] macro ERR_FNS is either incorrectly defined or missing, but ossl.h correctly includes openssl/err.h so I'm puzzled as to what's happening. _ I can get the module to compile by commenting out the engine check in extconf.rb, but it then fails "make test-all" by complaining about missing openssl functions in the openssl module. ( I guess it's not finding the shared library for some reason. ) _ This is all on Red Hat Enterprise Release 3. Suggestions as to where to start digging are welcome. _ Booker C. Bense [1]- arg... is that the stupidest macro name for a public library include file you've seen or what.... -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBQazE32TWTAjn5N/lAQHingQAveurp3GaCiwFAoyz9N3FQDcC8pDKI4q0 log1j1Wj+rr7CT+PHkUmHSBW7UeAKP5gF26J3iiGOJWRd3LwqmhpnXmVKKbCTWKQ sBYxNvqBXxqzi6TcF3UKIdQn9nn+2iS4FgdkANezy0ESttUyZVd7m7aEH1FoOEex lHzefJbeB9Y= =dPNY -----END PGP SIGNATURE-----