Thom May wrote:

>Hi,
>trying to build --with-mpm=leader, on a clean checkout from about an hour or
>so ago, the build dies in mpm/experimental/leader/leader.c:
>
>In file included from /home/thom/httpd-clean/include/pcreposix.h:21,
>                 from /home/thom/httpd-clean/include/httpd.h:85,
>                                  from leader.c:99:
>/usr/include/stdlib.h:485: parse error before `;'
>
>worker, prefork, and threadpool all build fine.
>
>the ouput of 
>
>gcc -E I. -I/home/thom/httpd-clean/os/unix
>-I/home/thom/httpd-clean/server/mpm/experimental/leader
>-I/home/thom/httpd-clean/modules/http -I/home/thom/httpd-clean/modules/proxy
>-I/home/thom/httpd-clean/include -I/home/thom/httpd-clean/srclib/apr/include
>-I/home/thom/httpd-clean/srclib/apr-util/include
>-I/home/thom/httpd-clean/modules/dav/main -I/usr/include/xmltok leader.c
>
>is available at http://people.debian.org/~thom/leader-E.out
>

Thanks for the "-E" output.  I can't recreate the problem on my Linux
system, but from your preprocessor output I think I see exactly what's
happening.  Your copy of <asm/system.h> (used by apr_atomic.h) includes
<linux/init.h>, which includes a #define to turn "__init" into
"__attribute__ ((__section__ (".text.init"))) ".  In stdlib.h, there's
a struct containing a field named "__init".  That's bad.

The problem only appears in leader/follower because it's the only MPM
that currently uses apr_atomic.h.

I think this is one more reason to stop using <asm/system.h> in apr_atomic.h

--Brian


Reply via email to