httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens-Uwe Mager <...@helios.de>
Subject Re: mod_rewrite, DSO, and AIX
Date Sat, 21 Nov 1998 16:39:25 GMT
Oops - I missed one test and I have now narrowed the problem a bit
more. The problem appears to be that at some point in time the regex
routines in libc for AIX did not work (for whatever reason). The
configure process thus adds USE_HSREGEX for AIX. This works fine as
long as you compile everything statically, as it uses the regex
routines linked into httpd.

The module case is a bit different - here the core is linked against
the hsregex routines, but the core does not export these and thus any
modules still refer to the libc symbols. Unfortunately all modules are
compiled against the hsregex version of the regex.h file and not the
libc version, and here is where the segfault is coming from.

If --disable-rule=WANTHSREGEX is used for configuring, both the core
and modules use the libc version, and all appears to work fine. The
simple solution is thus to disable HSREGEX for AIX if the libc regex
indeed works fine. But should the libc regex need replacement, the way it
is done currently cannot work for AIX. I have prepared a patch that
turns regex into ap_regex and exports it from main part, if there is
still interest I can send it to the list. Anyways below the patch to
src/Configure to turn HSREGEX off for AIX:

Index: src/Configure
===================================================================
RCS file: /cvs/apache-1.3/src/Configure,v
retrieving revision 1.306
diff -u -r1.306 Configure
--- Configure	1998/11/11 18:36:07	1.306
+++ Configure	1998/11/21 16:31:45
@@ -311,20 +311,24 @@
     *-ibm-aix3.*)
 	OS='IBM AIX 3.x'
 	CFLAGS="$CFLAGS -DAIX=30 -DNEED_RLIM_T -U__STR__"
+	DEF_WANTHSREGEX=no
 	;;
     *-ibm-aix4.1)
 	OS='IBM AIX 4.1'
 	CFLAGS="$CFLAGS -DAIX=41 -DNEED_RLIM_T -U__STR__"
+	DEF_WANTHSREGEX=no
 	;;
     *-ibm-aix4.2)
 	OS='IBM AIX 4.2'
 	CFLAGS="$CFLAGS -DAIX=42 -U__STR__"
 	LDFLAGS="$LDFLAGS -lm"
+	DEF_WANTHSREGEX=no
 	;;
     *-ibm-aix4.3)
 	OS='IBM AIX 4.3'
 	CFLAGS="$CFLAGS -DAIX=43 -U__STR__"
 	LDFLAGS="$LDFLAGS -lm"
+	DEF_WANTHSREGEX=no
 	;;
     *-ibm-aix*)
 	OS='IBM AIX'

-- 
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:		+49 5131 709320
FAX:		+49 5131 709325
Internet:	jum@helios.de

Mime
View raw message