On 20/04/2006, at 12:39 AM, Jim Gallacher wrote:
[EMAIL PROTECTED] wrote:
Author: grahamd
Date: Sun Apr 16 03:49:39 2006
New Revision: 394455
> URL: http://svn.apache.org/viewcvs?rev=394455&view=rev
+1 Debian Sid, apache 2.2.0, python 2.4.2
-1 Debian Sid, apache 2.0.55, python 2.3.5
Compilation fails with this output:
make[1]: Entering directory `/tmp/mod_python/src'
Compiling for DSO.
/usr/bin/apxs2 -I/tmp/mod_python/src/include -I/usr/include/apache2
-I/usr/include/python2.3 -c mod_python.c _apachemodule.c
requestobject.c tableobject.c util.c serverobject.c connobject.c
filterobject.c hlist.c hlistobject.c -L/usr/lib/python2.3/config
-Xlinker -export-dynamic -lm -lpython2.3 -lpthread -ldl -lutil
-lm
/usr/bin/libtool --silent --mode=compile gcc -prefer-pic -pipe
-I/usr/include/xmltok -I/usr/include/openssl -Wall -g -O2
-DAP_HAVE_DESIGNATED_INITIALIZER -DLINUX=2 -D_REENTRANT
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -pipe
-I/usr/include/xmltok -I/usr/include/openssl -Wall -g -O2 -pthread
-I/usr/include/apache2 -I/usr/include/apr-0 -I/usr/include/apr-0
-I/usr/include -I/tmp/mod_python/src/include -I/usr/include/apache2
-I/usr/include/python2.3 -c -o mod_python.lo mod_python.c && touch
mod_python.slo
In file included from mod_python.c:28:
/tmp/mod_python/src/include/mod_python.h:65: error: syntax error
before 'ap_regex_t'
/tmp/mod_python/src/include/mod_python.h:65: warning: useless type
name in empty declaration
In file included from mod_python.c:28:
/tmp/mod_python/src/include/mod_python.h:66:1: warning:
"AP_REG_EXTENDED" redefined
The AP_REG_EXTENDED macro shouldn't exist in Apache 2.0.55. It, along
with ap_regex_t only came along in Apache 2.1.? sometime.
The code in mod_python.h which tries to accommodate the change is:
#if !AP_MODULE_MAGIC_AT_LEAST(20050127,0)
typedef regex_t ap_regex_t;
#define AP_REG_EXTENDED REG_EXTENDED
#define AP_REG_ICASE REG_ICASE
#endif
The regex_t type comes from pcreposix.h which is include by httpd.h
which is included in mod_python.h prior to this point.
Either how I am using AP_MODULE_MAGIC_AT_LEAST is wrong, of you must be
picking up a wrong header file somehow.
Bar ensuring you did a make distclean between builds, not sure what
else to suggest.
Strange.
Graham
In file included from /usr/include/apache2/httpd.h:44,
from /tmp/mod_python/src/include/mod_python.h:42,
from mod_python.c:28:
/usr/include/apache2/ap_regex.h:44:1: warning: this is the location of
the previous definition
In file included from mod_python.c:28:
/tmp/mod_python/src/include/mod_python.h:67:1: warning: "AP_REG_ICASE"
redefined
In file included from /usr/include/apache2/httpd.h:44,
from /tmp/mod_python/src/include/mod_python.h:42,
from mod_python.c:28:
/usr/include/apache2/ap_regex.h:32:1: warning: this is the location of
the previous definition
In file included from /usr/include/python2.3/Python.h:8,
from /tmp/mod_python/src/include/mod_python.h:75,
from mod_python.c:28:
/usr/include/python2.3/pyconfig.h:853:1: warning: "_POSIX_C_SOURCE"
redefined
In file included from /usr/include/sys/types.h:27,
from /usr/include/apr-0/apr.h:113,
from /usr/include/apache2/ap_config.h:20,
from /usr/include/apache2/httpd.h:30,
from /tmp/mod_python/src/include/mod_python.h:42,
from mod_python.c:28:
/usr/include/features.h:150:1: warning: this is the location of the
previous definition
<snip>
mod_python.c: In function 'determine_context':
mod_python.c:938: error: 'REG_EXTENDED' undeclared (first use in this
function)
mod_python.c:938: error: (Each undeclared identifier is reported only
once
mod_python.c:938: error: for each function it appears in.)
mod_python.c: In function 'directive_PythonHandlerModule':
mod_python.c:2264: warning: unused variable 'srv_conf'
mod_python.c: In function 'PythonChildInitHandler':
mod_python.c:2504: warning: unused variable 'ppath'
apxs:Error: Command failed with rc=65536
No time to dig in to this right now. Will investigate later.
Jim