You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2003/03/11 08:13:16 UTC
out-of-tree apr/apr-util httpd-2.0 (the real 2.0) builds
I know not everyone monitors CVS logs. I have backported the patch
for not-in-srclib/ apr and apr-util trees. Even the in-tree builds however
are vulnerable. If those working in the APACHE_2_0_BRANCH would
try cvs up and experiment with your preference if apr[-util] either in-tree
or out-of-tree, we would all appreciate it.
Bill
At 01:07 AM 3/11/2003, wrowe@apache.org wrote:
>wrowe 2003/03/10 23:07:52
>
> Modified: . Tag: APACHE_2_0_BRANCH STATUS buildconf
> configure.in
> server/mpm Tag: APACHE_2_0_BRANCH config.m4
> Log:
> Allow builds to work with out of tree apr and apr-util
>
> Backported:
> buildconf: r1.30
> configure.in: r1.239, r1.240, r1.242, r1.245
> server/mpm/config.m4 r1.47
>
> I suspect configure.in r1.244 should also be applied, I suspect so
> but want confirmation before backporting it. If it's required, please
> simply commit that patch.
>
> Please *thoroughly* test so we uncover any vpath/out-of-tree/in-tree
> issues with apr/apr-util locations before our users do. With everyone
> who voulenteered for the effort, this should be no hassle.
>
> Revision Changes Path
> No revision
>
>
> No revision
>
>
> 1.751.2.169 +1 -10 httpd-2.0/STATUS
>
> Index: STATUS
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/STATUS,v
> retrieving revision 1.751.2.168
> retrieving revision 1.751.2.169
> diff -u -r1.751.2.168 -r1.751.2.169
> --- STATUS 11 Mar 2003 06:40:41 -0000 1.751.2.168
> +++ STATUS 11 Mar 2003 07:07:51 -0000 1.751.2.169
> @@ -166,15 +166,6 @@
> modules/generators/mod_autoindex.c: r1.119
> +1: nd, wrowe, trawick
>
> - * Allow builds to work with out of tree apr and apr-util
> - buildconf: r1.30
> - configure.in: r1.239, r1.240
> - +1: thommay, striker, ianh
> - wrowe (but we must add server/mpm/config.m4 r1.47 to that list)
> - +1(concept): trawick... I won't be putting my name next to any
> - specific revisions (no confidence on my part), but I will
> - try to help sort out what may go wrong.
> -
> * New Directive for mod_deflate (compressionlevel), and change to default
> compression level
> mod_deflate.c 1.31
>
>
>
> 1.27.2.3 +59 -19 httpd-2.0/buildconf
>
> Index: buildconf
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/buildconf,v
> retrieving revision 1.27.2.2
> retrieving revision 1.27.2.3
> diff -u -r1.27.2.2 -r1.27.2.3
> --- buildconf 3 Feb 2003 17:31:28 -0000 1.27.2.2
> +++ buildconf 11 Mar 2003 07:07:52 -0000 1.27.2.3
> @@ -56,12 +56,45 @@
> # buildconf: Build the support scripts needed to compile from a
> # checked-out version of the source code.
>
> +# set a couple of defaults for where we should be looking for our support libs.
> +# can be overridden with --with-apr=[dir] and --with-apr-util=[dir]
> +
> +apr_src_dir=srclib/apr
> +apu_src_dir=srclib/apr-util
> +
> +while test $# -gt 0
> +do
> + # Normalize
> + case "$1" in
> + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
> + *) optarg= ;;
> + esac
> +
> + case "$1" in
> + --with-apr=*)
> + apr_src_dir=$optarg
> + ;;
> + esac
> +
> + case "$1" in
> + --with-apr-util=*)
> + apu_src_dir=$optarg
> + ;;
> + esac
> +
> + shift
> +done
> +
> #
> # Check to be sure that we have the srclib dependencies checked-out
> #
> -if [ ! -d srclib/apr -o ! -f srclib/apr/build/apr_common.m4 ]; then
> +
> +if [ ! -d "$apr_src_dir" -o ! -f "$apr_src_dir/build/apr_common.m4" ]; then
> echo ""
> - echo "You don't have a srclib/apr/ subdirectory. Please get one:"
> + echo "You don't have a copy of the apr source in $apr_src_dir. "
> + echo "Please get the source using the following instructions,"
> + echo "or specify the location of the source with "
> + echo "--with-apr=[path to apr] :"
> echo ""
> echo " cd srclib"
> echo " cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login"
> @@ -70,9 +103,12 @@
> echo ""
> exit 1
> fi
> -if [ ! -d srclib/apr-util -o ! -f srclib/apr-util/Makefile.in ]; then
> +if [ ! -d "$apu_src_dir" -o ! -f "$apu_src_dir/Makefile.in" ]; then
> echo ""
> - echo "You don't have a srclib/apr-util/ subdirectory. Please get one:"
> + echo "You don't have a copy of the apr-util source in $apu_src_dir. "
> + echo "Please get one the source using the following instructions, "
> + echo "or specify the location of the source with "
> + echo "--with-apr-util=[path to apr-util]:"
> echo ""
> echo " cd srclib"
> echo " cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login"
> @@ -98,29 +134,33 @@
> #
> # end temporary stuff
>
> -apr_configure="srclib/apr/configure"
> -aprutil_configure="srclib/apr-util/configure"
> +apr_configure="$apr_src_dir/configure"
> +aprutil_configure="$apu_src_dir/configure"
> pcre_configure="srclib/pcre/configure"
> config_h_in="include/ap_config_auto.h.in"
>
> cross_compile_warning="warning: AC_TRY_RUN called without default to allow cross compiling"
>
> -echo rebuilding $apr_configure
> -(cd srclib/apr && ./buildconf) || {
> - echo "./buildconf failed for apr"
> - exit 1
> -}
> +if [ -d srclib/apr ]; then
> + echo rebuilding $apr_configure
> + (cd srclib/apr && ./buildconf) || {
> + echo "./buildconf failed for apr"
> + exit 1
> + }
> +fi
>
> -echo rebuilding $aprutil_configure
> -(cd srclib/apr-util && ./buildconf) || {
> - echo "./buildconf failed for apr-util"
> - exit 1
> -}
> +if [ -d srclib/apr-util ]; then
> + echo rebuilding $aprutil_configure
> + (cd srclib/apr-util && ./buildconf) || {
> + echo "./buildconf failed for apr-util"
> + exit 1
> + }
> +fi
>
> echo copying build files
> -cp srclib/apr/build/config.guess build
> -cp srclib/apr/build/config.sub build
> -cp srclib/apr/build/PrintPath build
> +cp $apr_src_dir/build/config.guess $apr_src_dir/build/config.sub \
> + $apr_src_dir/build/PrintPath $apr_src_dir/build/apr_common.m4 \
> + $apr_src_dir/build/find_apr.m4 $apu_src_dir/build/find_apu.m4 build
>
> echo rebuilding $pcre_configure
> (cd srclib/pcre && ${AUTOCONF:-autoconf})
>
>
>
> 1.232.2.4 +11 -18 httpd-2.0/configure.in
>
> Index: configure.in
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/configure.in,v
> retrieving revision 1.232.2.3
> retrieving revision 1.232.2.4
> diff -u -r1.232.2.3 -r1.232.2.4
> --- configure.in 7 Jan 2003 22:02:19 -0000 1.232.2.3
> +++ configure.in 11 Mar 2003 07:07:52 -0000 1.232.2.4
> @@ -13,9 +13,9 @@
> dnl #
> dnl # Include our own M4 macros along with those for APR and libtool
> dnl #
> -sinclude(srclib/apr/build/apr_common.m4)
> -sinclude(srclib/apr/build/find_apr.m4)
> -sinclude(srclib/apr-util/build/find_apu.m4)
> +sinclude(build/apr_common.m4)
> +sinclude(build/find_apr.m4)
> +sinclude(build/find_apu.m4)
> sinclude(acinclude.m4)
>
> dnl XXX we can't just use AC_PREFIX_DEFAULT because that isn't subbed in
> @@ -68,7 +68,7 @@
> fi
>
> if test "$apr_found" = "reconfig"; then
> - APR_SUBDIR_CONFIG(srclib/apr, "$apache_apr_flags --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir")
> + APR_SUBDIR_CONFIG(srclib/apr, [$apache_apr_flags --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir])
> dnl We must be the first to build and the last to be cleaned
> AP_BUILD_SRCLIB_DIRS="apr $AP_BUILD_SRCLIB_DIRS"
> AP_CLEAN_SRCLIB_DIRS="$AP_CLEAN_SRCLIB_DIRS apr"
> @@ -80,7 +80,7 @@
> APR_ADDTO(INCLUDES, `$apr_config --includes`)
> SHLIBPATH_VAR=`$apr_config --shlib-path-var`
> APR_BINDIR=`$apr_config --bindir`
> -APR_INCLUDEDIR=`$apr_config --includes | sed 's|^.*-I\([[^ ]]*apr[[^ ]]*\).*$|\1|'`
> +APR_INCLUDEDIR=`$apr_config --includedir`
>
> echo $ac_n "${nl}Configuring Apache Portable Runtime Utility library...${nl}"
>
> @@ -91,7 +91,7 @@
> fi
>
> if test "$apu_found" = "reconfig"; then
> - APR_SUBDIR_CONFIG(srclib/apr-util, "--with-apr=../apr --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir")
> + APR_SUBDIR_CONFIG(srclib/apr-util, [--with-apr=../apr --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
> dnl We must be the last to build and the first to be cleaned
> AP_BUILD_SRCLIB_DIRS="$AP_BUILD_SRCLIB_DIRS apr-util"
> AP_CLEAN_SRCLIB_DIRS="apr-util $AP_CLEAN_SRCLIB_DIRS"
> @@ -100,11 +100,11 @@
> APR_ADDTO(LDFLAGS, `$apu_config --ldflags`)
> APR_ADDTO(INCLUDES, `$apu_config --includes`)
> APU_BINDIR=`$apu_config --bindir`
> -APU_INCLUDEDIR=`$apu_config --includes | sed 's|^ *-I\([[^ ]]*apr[[^ ]]*\).*$|\1|'`
> +APU_INCLUDEDIR=`$apu_config --includedir`
>
> echo $ac_n "${nl}Configuring PCRE regular expression library ...${nl}"
>
> -APR_SUBDIR_CONFIG(srclib/pcre, "--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir")
> +APR_SUBDIR_CONFIG(srclib/pcre, [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir])
>
> echo $ac_n "${nl}Configuring Apache httpd ...${nl}"
>
> @@ -324,14 +324,7 @@
> [if test "$withval" = "yes"; then AC_MSG_ERROR('option --with-port requires a value (the TCP port number)'); else PORT="$withval"; fi],
> [PORT=80])
>
> -dnl ## See if APR has IPv6 support
> -ap_old_cppflags=$CPPFLAGS
> -CPPFLAGS="$CPPFLAGS -I$APR_SOURCE_DIR/include -I$abs_builddir/srclib/apr/include"
> -AC_TRY_COMPILE([#include <apr.h>], [
> -#if !APR_HAVE_IPV6
> -#error APR does not have IPv6 support
> -#endif], apr_have_ipv6=yes, apr_have_ipv6=no)
> -CPPFLAGS=$ap_old_cppflags
> +APR_CHECK_APR_DEFINE(APR_HAVE_IPV6)
>
> AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets to handle IPv4 connections),
> [
> @@ -348,10 +341,10 @@
> esac
> ])
>
> -if test $v4mapped = "yes" -o $apr_have_ipv6 = "no"; then
> +if test $v4mapped = "yes" -o $ac_cv_define_APR_HAVE_IPV6 = "no"; then
> nonssl_listen_stmt_1=""
> nonssl_listen_stmt_2="Listen @@Port@@"
> - if test $apr_have_ipv6 = "yes"; then
> + if test $ac_cv_define_APR_HAVE_IPV6 = "yes"; then
> AC_DEFINE(AP_ENABLE_V4_MAPPED, 1,
> [Allow IPv4 connections on IPv6 listening sockets])
> fi
>
>
>
> No revision
>
>
> No revision
>
>
> 1.46.2.1 +1 -1 httpd-2.0/server/mpm/config.m4
>
> Index: config.m4
> ===================================================================
> RCS file: /home/cvs/httpd-2.0/server/mpm/config.m4,v
> retrieving revision 1.46
> retrieving revision 1.46.2.1
> diff -u -r1.46 -r1.46.2.1
> --- config.m4 18 Apr 2002 08:16:56 -0000 1.46
> +++ config.m4 11 Mar 2003 07:07:52 -0000 1.46.2.1
> @@ -13,7 +13,7 @@
> apache_cv_mpm=$APACHE_MPM
>
> if test "$apache_cv_mpm" = "worker" -o "$apache_cv_mpm" = "perchild" -o "$apache_cv_mpm" = "leader" -o "$apache_cv_mpm" = "threadpool" ; then
> - APR_CHECK_APR_DEFINE(APR_HAS_THREADS, srclib/apr)
> + APR_CHECK_APR_DEFINE(APR_HAS_THREADS)
>
> if test "x$ac_cv_define_APR_HAS_THREADS" = "xno"; then
> AC_MSG_RESULT(The currently selected MPM requires threads which your system seems to lack)
>
>
>
Re: out-of-tree apr/apr-util httpd-2.0 (the real 2.0) builds
Posted by Jeff Trawick <tr...@attglobal.net>.
Jeff Trawick wrote:
from the old STATUS entry
- * Allow builds to work with out of tree apr and apr-util
- buildconf: r1.30
- configure.in: r1.239, r1.240
- +1: thommay, striker, ianh
- wrowe (but we must add server/mpm/config.m4 r1.47 to that
list)
- +1(concept): trawick... I won't be putting my name next to any
- specific revisions (no confidence on my part), but I will
- try to help sort out what may go wrong.
Note that when I wrote that I assumed that somebody would actually test
before committing. Personally, I don't have the stomach for committing
stuff to APACHE_2_0_BRANCH that hasn't been tested and retested.
Re: out-of-tree apr/apr-util httpd-2.0 (the real 2.0) builds
Posted by Jeff Trawick <tr...@attglobal.net>.
Make sure you have my recent (this a.m.) commits to
build/.cvsignore
configure.in
modules/aaa/config.m4
modules/mappers/config9.m4
server/Makefile.in
before trying to test this.
With those recent commits, it works as well as I have time to test :)
Now it is somebody else's turn.
Re: out-of-tree apr/apr-util httpd-2.0 (the real 2.0) builds
Posted by Jeff Trawick <tr...@attglobal.net>.
William A. Rowe, Jr. wrote:
> I know not everyone monitors CVS logs. I have backported the patch
> for not-in-srclib/ apr and apr-util trees. Even the in-tree builds
> however
> are vulnerable. If those working in the APACHE_2_0_BRANCH would
> try cvs up and experiment with your preference if apr[-util] either
> in-tree
> or out-of-tree, we would all appreciate it.
I thought this was working, but after tracking down one nagging issue I
realized I had forgotten to specify "-r APACHE_2_0_BRANCH" on my
checkout (blush) when preparing a directory to try with out-of-tree APR.
Now that I have specified the right level of code, it bombs with this:
configure: error: can not find install-sh or install.sh in
srclib/apr/build ./srclib/apr/build
now apply this patch:
Index: configure.in
===================================================================
RCS file: /home/cvs/httpd-2.0/configure.in,v
retrieving revision 1.232.2.4
diff -u -r1.232.2.4 configure.in
--- configure.in 11 Mar 2003 07:07:52 -0000 1.232.2.4
+++ configure.in 11 Mar 2003 12:23:37 -0000
@@ -8,7 +8,7 @@
AC_INIT(ABOUT_APACHE)
AC_CONFIG_HEADER(include/ap_config_auto.h)
-AC_CONFIG_AUX_DIR(srclib/apr/build)
+AC_CONFIG_AUX_DIR(build)
dnl #
dnl # Include our own M4 macros along with those for APR and libtool
and we get further, but it isn't picking up APR defines correctly:
checking whether to enable mod_auth_digest... checking dependencies
checking whether to enable mod_auth_digest... configure: error:
mod_auth_digest has been requested but can not be built due to
prerequisite failures
configure:4166: gcc -c -DAPACHE_XLATE -g -O2 -Wall -Wmissing-prototypes
-Wstrict-prototypes -Wmissing-declarations -pthread -DLINUX=2
-D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE
-D_GNU_SOURCE -DAP_DEBUG -I/include
-I/home/trawick/apache/ST/srclib/apr/include conftest.c 1>&5
configure:4158: apr.h: No such file or directory
configure:4161: #error You need APR random support to use auth_digest.
Somehow the INCLUDES setting got lost. Here is part of what was
displayed earlier when the APR settings were picked up:
setting INCLUDES to " -I/home/trawick/apache/apr/include "
I gotta get busy with something else for a while, but I'll commit the
configure.in fix above as well as a lost change to build/.cvsignore
and hopefully can get back to this later this a.m.
Re: out-of-tree apr/apr-util httpd-2.0 (the real 2.0) builds
Posted by Jeff Trawick <tr...@attglobal.net>.
William A. Rowe, Jr. wrote:
> I know not everyone monitors CVS logs. I have backported the patch
> for not-in-srclib/ apr and apr-util trees. Even the in-tree builds
> however
> are vulnerable. If those working in the APACHE_2_0_BRANCH would
> try cvs up and experiment with your preference if apr[-util] either
> in-tree
> or out-of-tree, we would all appreciate it.
APACHE_2_0_BRANCH still seems to work for me fine (APR in tree or out of
tree), so the backport looks good (but I will remain cynical for the
next few days just in case).