Sorry to resurrect this old post - but I just ran into the problem
referenced below. I thought ruby-1.8.5-p2 would have the fix, but it did
not. Applying the patch worked for me too. I just thought it'd be good for
folks to know.
FYI, uname -a says:
Linux C621184 2.4.21-40.EL-3 #1 Tue Nov 28 02:57:02 PST 2006 i686 i686
i386 GNU/Linux
···
On 9/17/06, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
At Mon, 18 Sep 2006 01:06:07 +0900,
Bil Kleb wrote in [ruby-talk:214856]:
> > RFILE seems redefined somewhere after here.
>
> But I can't find another RFILE in /ext/openssl or below...`Somewhere' inside <openssl/*.h> below it.
> $ cd /ext/openssl && grep -nr RFILE *
> ossl.h:21:* OpenSSL has defined RFILE and Ruby has defined RFILE - so
undef it!
> ossl.h:23:#if defined(RFILE) /*&& !defined(OSSL_DEBUG)*/
> ossl.h:24:# undef RFILE
>
> Suggestions?Moving the code block after #include lines of openssl. Try
this patch.Index: ext/openssl/ossl.h
RCS file: /cvs/ruby/src/ruby/ext/openssl/ossl.h,v
retrieving revision 1.14.2.4
diff -p -u -2 -r1.14.2.4 ossl.h
--- ext/openssl/ossl.h 27 Jul 2006 07:45:33 -0000 1.14.2.4
+++ ext/openssl/ossl.h 18 Sep 2006 02:49:17 -0000
@@ -16,14 +16,13 @@
#if defined(__cplusplus)
extern "C" {
+#elif 0
+}
#endif/*
-* OpenSSL has defined RFILE and Ruby has defined RFILE - so undef it!
-*/
-#if defined(RFILE) /*&& !defined(OSSL_DEBUG)*/
-# undef RFILE
-#endif
-#include <ruby.h>
-#include <rubyio.h>
+ *_FILE_OFFSET_BITS needs to be defined before some system headers on
+ * Solaris.
+ */
+#include "config.h"/*
@@ -70,4 +69,13 @@ extern "C" {/*
+* OpenSSL has defined RFILE and Ruby has defined RFILE - so undef it!
+*/
+#if defined(RFILE) /*&& !defined(OSSL_DEBUG)*/
+# undef RFILE
+#endif
+#include <ruby.h>
+#include <rubyio.h>
+
+/*
* Common Module
*/
@@ -212,5 +220,7 @@ void ossl_debug(const char *, ...);
void Init_openssl(void);-#if defined(__cplusplus)
+#if 0
+{
+#elif defined(__cplusplus)
}
#endif
--
Nobu Nakada