osx-elcapitanapache2.4mod-perl2xcode7.1

How to install mod_perl 2.0.10 in Apache 2.4 on OS X El Capitan?


Build problems with a completely new install of mod_perl. Here are the versions of my software.

OS X El Capitan 10.11. Recently upgraded from OS X Yosemite 10.10. Xcode 7.1. Apache 2.4.16. This is the Apache version that was included with 10.11 mod_perl 2.0.10. Downloaded from SVN.

chrisbtoo's answer to how-to-install-mod-perl-2-0-9-in-apache-2-4-on-os-x-yosemite allowed the build to begin. make fails like this

-c modperl_util.c && mv modperl_util.o modperl_util.lo modperl_util.c:636:20: warning: format specifies type 'int' but the argument has type 'apr_size_t' (aka 'unsigned long') [-Wformat] size, (apr_size_t)r->finfo.size, r->filename); ^~~~ modperl_util.c:636:26: warning: format specifies type 'int' but the argument has type 'apr_size_t' (aka 'unsigned long') [-Wformat] size, (apr_size_t)r->finfo.size, r->filename); ^~~~~~~~~~~~~~~~~~~~~~~~~ 2 warnings generated. modperl_util.c:636:20: warning: format specifies type 'int' but the argument has type 'apr_size_t' (aka 'unsigned long') [-Wformat] size, (apr_size_t)r->finfo.size, r->filename); ^~~~ modperl_util.c:636:26: warning: format specifies type 'int' but the argument has type 'apr_size_t' (aka 'unsigned long') [-Wformat] size, (apr_size_t)r->finfo.size, r->filename); ^~~~~~~~~~~~~~~~~~~~~~~~~ 2 warnings generated.

then again

-c modperl_common_util.c && mv modperl_common_util.o modperl_common_util.lo modperl_common_util.c:57:53: warning: incompatible pointer types initializing 'int (*)(PerlInterpreter *, SV *, MAGIC *, SV *, const char *, I32)' with an expression of type 'int (PerlInterpreter *, SV *, MAGIC *, SV *, const char *, int)' [-Wincompatible-pointer-types] modperl_table_magic_copy}; ^~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated.

then 68 duplicate symbol messages like this brief sample:

duplicate symbol _MP_vtbl_env in:

duplicate symbol _MP_vtbl_envelem in:

Here are the final error messages.

make1: * [mod_perl.so] Error 1 make: * [modperl_lib] Error 2

Does this seem like anything in the environment that I might fix?


Solution

  • What worked for me was checking out codes from one of the tagged branches instead of checking out direct from the trunk.

    The tagged branch I used: https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_9/

    so the first step then becomes: svn checkout https://svn.apache.org/repos/asf/perl/modperl/tags/2_0_9/ mod_perl-2.0

    So just replace this step and then follow the rest of the steps in the link you used (ie How to install mod_perl 2.0.9 in Apache 2.4 on OS X Yosemite?).