> I just did some more googling, now I know that 'inline' is the issue, and 
> found an article that talks about this as a problem with MacPorts for 
> mod_perl 2.0.4:
> 
> https://trac.macports.org/ticket/32200
> 
> The relevant lines:
> 
> This is caused by the code assuming to be compiled using GCC against the 
> GCC89 "standard", but being actually compiled by clang with C99. GNU89 and 
> C99 differ in how they handle inline. Further reading: 
> ​http://clang.llvm.org/compatibility.html#inline.
> 
> Which made me wonder:
> 
> % gcc --version | head -1
> i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) 
> (LLVM build 2336.11.00)
> 
> % cc --version | head -1
> Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)

The problem appears to have been that APR was built with gcc, but because 
Perl's Configure had picked up cc (which was clang, not gcc), then mod_perl was 
being compiled with cc, but getting the wrong definition for MP_INLINE as a 
result.

Ensuring that everything in the chain was built with gcc sorted this out.

Neil


Reply via email to