On 9/30/16 8:53 AM, Michael Schout wrote:
> On 9/30/16 8:13 AM, Steve Hay wrote:
>> Please download, test, and report back on this mod_perl 2.0.10 release
>> candidate.
> 
> There is some kind of linker failure happening on OSX/Darwin.  I'm on El
> Capitan (10.11) using perl 5.20 and get all kinds of duplicate symbol
> errors.  I'll see if I can figure out where this broke.

Ok this seems to be caused by putting MP_vtbl_env and MP_vtbl_envelem in
the modperl_env.h header and removal of "static" qualifier for these
structs.  Presumably this was done to be threaded perl friendly?
Anyway, I made the compiler happy by adding "extern" in the header:

--- mod_perl-2.0.10-rc1/src/modules/perl/modperl_env.h  2016-09-30
07:45:25.000000000 -0500
+++ mod_perl-2.0.10-rc1.osx/src/modules/perl/modperl_env.h      2016-09-30
11:39:05.000000000 -0500
@@ -62,8 +62,8 @@

 void modperl_env_unload(pTHX);

-MGVTBL MP_vtbl_env;
-MGVTBL MP_vtbl_envelem;
+extern MGVTBL MP_vtbl_env;
+extern MGVTBL MP_vtbl_envelem;

 #endif /* MODPERL_ENV_H */


I also need the "no APR_INLINE" patch on OS X, to get it to compile but
that's nothing new:

--- mod_perl-2.0.4.orig/src/modules/perl/modperl_common_util.h
2007-12-31 01:23:36.000000000 -0600
+++ mod_perl-2.0.4/src/modules/perl/modperl_common_util.h       2012-09-11
21:56:40.000000000 -0500
@@ -22,7 +22,7 @@
 #ifdef MP_DEBUG
 #define MP_INLINE
 #else
-#define MP_INLINE APR_INLINE
+#define MP_INLINE
 #endif

 #ifdef CYGWIN

I *do* get test failures on OS X, but to be fair 2.0.9 produces even
MORE failures so 2.0.10 is actually an improvement in that regard :).

Regards,
Michael Schout

Reply via email to