Yes. that's the problem.

I removed all the apache's *.h files from the system's include directory, and recompiled apache.
Works great now ;)

And what Joe Orton said, is right. I had a mpm.h from worker in /usr/local/include, and I'm rebuilding apache with prefork now.

I haven't set -I/usr/local/includes nor any other INCLUDES in my environment. This is what config.log and config.status show about INCLUDES:

----
# grep INCLUDE config.log
APR_INCLUDEDIR='/home/admin2/src/httpd-2.0.54/srclib/apr/include'
APU_INCLUDEDIR='/home/admin2/src/httpd-2.0.54/srclib/apr-util/include'
EXTRA_INCLUDES=' -I/home/admin2/src/httpd-2.0.54/srclib/apr/include -I/home/admin2/src/httpd-2.0.54/srclib/apr-util/include -I/usr/local/include -I. -I$(top_srcdir)/os/$(OS_DIR) -I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME) -I$(top_srcdir)/modules/http -I$(top_srcdir)/modules/filters -I$(top_srcdir)/modules/proxy -I$(top_srcdir)/include -I$(top_srcdir)/modules/generators -I/usr/include/openssl -I$(top_srcdir)/modules/dav/main'
INCLUDES=''


# grep INCLUDE config.status
s,@EXTRA_INCLUDES@, -I/home/admin2/src/httpd-2.0.54/srclib/apr/include -I/home/admin2/src/httpd-2.0.54/srclib/apr-util/include -I/usr/local/include -I. -I$(top_srcdir)/os/$(OS_DIR) -I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME) -I$(top_srcdir)/modules/http -I$(top_srcdir)/modules/filters -I$(top_srcdir)/modules/proxy -I$(top_srcdir)/include -I$(top_srcdir)/modules/generators -I/usr/include/openssl -I$(top_srcdir)/modules/dav/main,;t t
s,@INCLUDES@,,;t t
s,@APR_INCLUDEDIR@,/home/admin2/src/httpd-2.0.54/srclib/apr/include,;t t
s,@APU_INCLUDEDIR@,/home/admin2/src/httpd-2.0.54/srclib/apr-util/include,;t t
------

Thanks a lot for your help

----- Original Message ----- From: "Paul Querna" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, June 27, 2005 12:41 PM
Subject: Include Paths, was Re: error


Joe Orton wrote:
On Mon, Jun 27, 2005 at 02:46:23PM -0400, Cliff Woolley wrote:

On Mon, 27 Jun 2005, Gustavo A. Baratto wrote:


prefork.c:103: error: syntax error before '*' token
prefork.c:103: warning: data definition has no type or storage class
gmake[4]: *** [prefork.lo] Error 1
gmake[4]: Leaving directory
`/home/admin2/src/httpd-2.0.54/server/mpm/prefork'


Hmm, I'm not really sure how this never came up before.

prefork.c:103 says:
   static ap_pod_t *pod;

struct ap_pod_t is defined in mpm_common.h but only if AP_MPM_USES_POD is
defined. server/mpm/prefork/mpm.h does define this symbol. But prefork.c
does not include mpm.h at all, whereas it would have to do so prior to
including mpm_common.h to pick up the definition of this data type.


mpm_common.h does itself include mpm.h fortunately, otherwise the
ceiling would indeed have fallen in ;)

Gustova can you do:

cd server/mpm/prefork
make CFLAGS=-E prefork.lo

and then upload the preprocessed output "prefork.o" somewhere?  Possibly
you're picking up an installed mpm.h which was generated for a different
MPM, or something like that.

Actually, I have been hitting this myself recently with trunk.

I was picking up the an existing ap_listen.h.  This is a problem, since
the Listen directive was changed from 1 arg to argv,

This happened since I was installing to the same prefix, and
APR/APR-Util were also installed to this same prefix. We recently
changed to using an installed APR/APR-Util by default, which means those
directories now get added to the include path, and wham, it includes the
installed ap_listen.h first.

Should just be some build hackery to make sure our include directory is
always first.

-Paul


Reply via email to