httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoffrey Young <ge...@modperlcookbook.org>
Subject Re: new apreq2 snapshot
Date Wed, 14 Jul 2004 14:26:10 GMT


Joe Schaefer wrote:
> Geoffrey Young <geoff@modperlcookbook.org> writes:
> 
> [...]
> 
> 
>>anyway, can you get it to compile against 2.1 ok?  I didn't know how
>>much of a concern 2.1 is to apreq, and it's certainly less of an issue
>>if the issue is just mine.
> 
> 
> I do all my local development with HEAD for mp2, apr, apr-util, and
> httpd; in fact the snapshots I've been making have always been generated 
> from successful builds against HEAD.  So it should compile/test ok 
> for you (in principle, anyways :-).

hmph.

just to be sure, I started with fresh checkouts again.  I've been feeling
kind of out of touch lately, so I may be missing something due to some
missing grey matter, but here's what I just did.

$ cvs -d"cvs.apache.org:/home/cvs" checkout -d httpd-2.1 httpd-2.0
$ cd httpd-2.1/srclib
$ cvs -d":pserver:anoncvs@cvs.apache.org:/home/cvspublic" checkout apr
$ cvs -d":pserver:anoncvs@cvs.apache.org:/home/cvspublic" checkout apr-util
$ cd ../

$ ./buildconf
$ NOTEST_CFLAGS="-Werror"  CFLAGS="-DAP_UNSAFE_ERROR_LOG_UNESCAPED"
./configure --prefix=/apache/2.1/prefork/noperl --with-mpm=prefork
--enable-maintainer-mode --enable-mods-shared=all --without-execstrip
--enable-modules=all  --enable-deflate=shared  --enable-proxy=shared
--disable-log-forensic
$ make && sudo make install

now from a fresh checkout of httpd-apreq-2

$ ./buildconf
$ ./configure --with-apache2-apxs=/apache/2.1/prefork/noperl/bin/apxs
$ make

the result is about a page of warnings and errors, starting with this:

gcc -DHAVE_CONFIG_H -I. -I. -I. -I/apache/2.1/prefork/noperl/include
-I/apache/2.1/prefork/noperl/include -g -O2 -MT apreq.lo -MD -MP -MF
.deps/apreq.Tpo -c apreq.c  -fPIC -DPIC -o .libs/apreq.o
In file included from /apache/2.1/prefork/noperl/include/apr_tables.h:24,
                 from apreq.h:20,
                 from apreq.c:17:
/apache/2.1/prefork/noperl/include/apr.h:261: error: syntax error before
"apr_off_t"
/apache/2.1/prefork/noperl/include/apr.h:261: warning: data definition has
no type or storage class


it's strange that I don't get this error at all when building mp2 against
the same apache target, so I compared the compiler lines.  this is what
mod_perl uses for me:

cc -c  -I/src/mod_perl-2.0/src/modules/perl -I/src/mod_perl-2.0/xs
-I/apache/2.1/prefork/noperl/include -I/apache/2.1/prefork/noperl/include
-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include  -I/usr/include/gdbm -DMOD_PERL
-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations
-Werror -DAP_DEBUG -DAP_HAVE_DESIGNATED_INITIALIZER -DMP_DEBUG -DMP_TRACE
-DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -DAP_DEBUG -g
-DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fpic
"-I/perl/perl-5.8.4/lib/5.8.4/i686-linux-thread-multi/CORE"
-DMP_HAVE_APR_LIBS modperl_constants.c

the important difference being -D_LARGEFILE64_SOURCE.  so, if I change the
httpd-apreq-2 compile line to this (simply inserting -D_LARGEFILE64_SOURCE)

$  gcc -DHAVE_CONFIG_H -I. -I. -I. -I/apache/2.1/prefork/noperl/include
-I/apache/2.1/prefork/noperl/include -D_LARGEFILE64_SOURCE -g -O2 -MT
apreq.lo -MD -MP -MF .deps/apreq.Tpo -c apreq.c  -fPIC -DPIC -o .libs/apreq.o

it works.  so, I guess that apreq needs to pick up on that flag somehow? and
I guess that somehow needs to not be perl (which is where mod_perl intuits
it IIRC).

--Geoff


Mime
View raw message