Hi all, I'm using apr-0.9.12, apr-util-0.9.12, httpd-2.0.58 and mod_perl-2.0.2 and gcc-3.2.2-5:
<snip> ~/mod_perl-2.0.2$ perl Makefile.PL MP_APXS=/usr/sbin/apxs Reading Makefile.PL args from @ARGV MP_APXS = /usr/sbin/apxs no conflicting prior mod_perl version found - good. Configuring Apache/2.0.58 mod_perl2/2.0.2 Perl/v5.8.0 </snip> It seems that gcc fails to know about some apr identifiers which are defined in /usr/include/apr-0/apr_errno.h and /usr/include/apr-0/apr_file_io.h even though both are included in src/modules/perl/modperl_io_apache.h and xs/APR/PerlIO/modperl_apr_perlio.h : <snip> ~/mod_perl-2.0.2$ make && make test [...] gcc -I/home/anon/mod_perl-2.0.2/src/modules/perl -I/home/anon/mod_perl-2.0.2/xs -I/usr/include/apr-0 -I/usr/include/apr-0 -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm -I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -DMOD_PERL -DMP_COMPAT_1X -DLINUX=2 -O2 -g -pipe -march=i386 -mcpu=i686 -fPIC \ -c modperl_util.c && mv modperl_util.o modperl_util.lo modperl_util.c: In function `modperl_errsv': modperl_util.c:210: `APR_OS_START_USERERR' undeclared (first use in this function) modperl_util.c:210: (Each undeclared identifier is reported only once modperl_util.c:210: for each function it appears in.) modperl_util.c: In function `modperl_perl_exit': modperl_util.c:500: `APR_OS_START_USERERR' undeclared (first use in this function) make[1]: *** [modperl_util.lo] Error 1 make[1]: Leaving directory `/home/anon/mod_perl-2.0.2/src/modules/perl' make: *** [modperl_lib] Error 2 </snip> If I put the following lines in src/modules/perl/mod_perl.h, compilation is successful: #include "apr_file_io.h" #include "apr_errno.h" However, if I didn't put #include "apr_file_io.h" in mod_perl.h, compilation is unsuccessful: <snip> gcc -I/home/anon/mod_perl-2.0.2/src/modules/perl -I/home/anon/mod_perl-2.0.2/xs -I/usr/include/apr-0 -I/usr/include/apr-0 -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm -I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -DMOD_PERL -DMP_COMPAT_1X -DLINUX=2 -O2 -g -pipe -march=i386 -mcpu=i686 -fPIC \ -c modperl_constants.c && mv modperl_constants.o modperl_constants.lo modperl_constants.c: In function `modperl_constants_lookup_apr_const': modperl_constants.c:1340: `APR_UNKFILE' undeclared (first use in this function) modperl_constants.c:1340: (Each undeclared identifier is reported only once modperl_constants.c:1340: for each function it appears in.) modperl_constants.c:1380: `APR_FILEPATH_ENCODING_UNKNOWN' undeclared (first use in this function) modperl_constants.c:1385: `APR_FILEPATH_ENCODING_LOCALE' undeclared (first use in this function) modperl_constants.c:1390: `APR_FILEPATH_ENCODING_UTF8' undeclared (first use in this function) make[1]: *** [modperl_constants.lo] Error 1 make[1]: Leaving directory `/home/anon/mod_perl-2.0.2/src/modules/perl' make: *** [modperl_lib] Error 2 </snap> It seems that I have the same problem with older mod_perl releases such as 1.99. Thanks in advance to anyone who offers some clues. Regards, KL