[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Trouble in apache CVS land.

From: Mo DeJong <mdejong_at_cygnus.com>
Date: 2000-11-21 11:13:01 CET

On Tue, 21 Nov 2000, B. W. Fitzpatrick wrote:

>
> > Thanks, that fixed it. Well, sort of. I followed the instructions
> > and now I have an apr and a neon directory in ~/project/subversion.
> >
> > Problem is, when I run it I see some configure errors:
> > Note that I am running from a build diretory (~/project/build/subversion).
>
> Try running configure like this:
>
> ./configure --with-maintainer-mode --disable-shared
>
> I've never tried to configure the project any other way. If that
> doesn't work, maybe you can try to configure apr first?
>
> -Fitz

The problem seems to be with the RUN_SUBDIR_CONFIG_NOW macro
from apr/apr_common.m4.

Here is the critical bit:

AC_DEFUN(RUN_SUBDIR_CONFIG_NOW, [
  # save our work to this point; this allows the sub-package to use it
  AC_CACHE_SAVE

  echo "configuring package in $1 now"
  ac_popdir=`pwd`
  ac_abs_srcdir=`(cd $srcdir/$1 && pwd)`
  apr_config_subdirs="$1"
  test -d $1 || $srcdir/helpers/mkdir.sh $1
  cd $1

...

When subversion/configure.in calls this macro,
it has the srcdir set to the src of the subverison
tree not the src of the apr tree. It then
checks to see if the dir named in you
RUN_SUBDIR_CONFIG_NOW macro exists, and
then tries to create it if not. That is
why this bug only shows up when building
in a build dir that is not the src dir.

At any rate, this patch would seem to
fix the problem at first:

Index: apr_common.m4
===================================================================
RCS file: /home/cvspublic/apr/apr_common.m4,v
retrieving revision 1.7
diff -u -r1.7 apr_common.m4
--- apr_common.m4 2000/11/02 05:01:08 1.7
+++ apr_common.m4 2000/11/21 09:38:56
@@ -9,7 +9,7 @@
   ac_popdir=`pwd`
   ac_abs_srcdir=`(cd $srcdir/$1 && pwd)`
   apr_config_subdirs="$1"
- test -d $1 || $srcdir/helpers/mkdir.sh $1
+ test -d $1 || $srcdir/apr/helpers/mkdir.sh $1
   cd $1
 
 changequote(, )dnl

Problem is, that would break thing for a normal
apr build, so the apache folks and not going
to be interested in this patch.

Note that we also can't try to just set the
srcdir to the actual subdir because the
RUN_SUBDIR_CONFIG_NOW macro assumes that
the dir you are creating is a subdir
of apr.

So, here is a bit of a hacky workaround
that fixes the problem in the sense
that it just avoids the broken bits
of the RUN_SUBDIR_CONFIG_NOW macro.

Index: configure.in
===================================================================
RCS file: /cvs/subversion/configure.in,v
retrieving revision 1.43
diff -u -r1.43 configure.in
--- configure.in 2000/11/13 01:18:50 1.43
+++ configure.in 2000/11/21 09:55:09
@@ -37,8 +37,14 @@
   enable_subdir_config=yes)
 
 if test "$enable_subdir_config" = "yes"; then
+ # FIXME: This mkdir is a hack to work around a problem
+ # with the RUN_SUBDIR_CONFIG_NOW macro. It expects the
+ # srcdir to be the top of the apr directory. It fails
+ # if the $1 argument is not a directory in the build dir.
+ mkdir apr
   RUN_SUBDIR_CONFIG_NOW(apr)
   expat_absdir=`cd $srcdir/expat-lite ; pwd`
+ mkdir neon
   RUN_SUBDIR_CONFIG_NOW(neon, --with-expat=$expat_absdir/libexpat.la)
 fi

What do you think, is this a reasonable solution? I have
tested it out and it fixes the problem so that I can
now configure in a build dir. Of course, the real fix
would be to change the RUN_SUBDIR_CONFIG_NOW macro
so that it did not depend on scripts in the apr dir.

Mo DeJong
Red Hat Inc
Received on Sat Oct 21 14:36:15 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.