> Not really much idea, but a couple of possibilities spring to mind: does your 
> new build have an updated APR, and has the definition of APR_INLINE changed 
> in it?

No. I'd completely forgotten about APR, so was just pulling in the version I 
built. After looking at this problem I rebuilt it, but that didn't change 
anything.

> Also (just looking at the definition of MP_INLINE which you've quoted...) 
> presumably your new build doesn't have MP_DEBUG defined; is it possible that 
> your previous build did have it defined so that MP_INLINE was blank anyway?

I guess it's possible, but I didn't do anything to define it, and configured 
everything in a very generic way:

Apache configured with:
./configure --prefix=/usr/local/apache --with-ssl=/usr/local --enable-ssl

Perl configured with:
./Configure -Dprefix=/usr/local

APR configured with:
./configure --prefix=/usr/local

mod_perl configured with:
perl Makefile.PL MP_APXS=/usr/local/apache/bin/apxs

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)

Ugh. I don't specify the compiler in the above configures, but I remember that 
Configure for perl picked up cc, and on checking, the others are being compiled 
with gcc.

I'll rebuild everything with gcc, and see whether that sorts it out. And if 
not, then I guess I rebuild everything with cc :-(

Neil

Reply via email to