You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Martin Pool <mb...@samba.org> on 2002/09/25 02:17:36 UTC

autogen.sh instructions suggestion

On Debian sid, with autoconf2.13 and autoconf2.50 installed and apr
checked out in a subdirectory as suggested, it is necessary to set
$AUTOCONF when running autogen.sh.  Otherwise the apr subdirectory is
set up using autoconf2.13, and it can fail with errors like this:

    ~/work/subversion/trunk% CC=distcc ./configure --disable-shared
    creating config.nice
    configure: Apache Portable Runtime (APR) library configuration
    checking for APR... reconfig
    configuring package in apr now
    configure: warning: CC=distcc: invalid host type
    loading cache /dev/null
    checking host system type... Invalid configuration `CC=distcc': machine `CC=distcc' not recognized

    checking target system type... Invalid configuration `CC=distcc': machine `CC=distcc' not recognized

    checking build system type... Invalid configuration `CC=distcc': machine `CC=distcc' not recognized

    Configuring APR library
    Platform: 
    checking for working mkdir -p... yes
    APR Version: 0.9.2
    checking for chosen layout... apr

Simply invoking this way fixes the problem:

    ~/work/subversion/trunk% AUTOCONF=autoconf2.50 sh   ./autogen.sh

I'd like to suggest that in INSTALL (or some other document) you tell
Debian users to do this.

-- 
Martin 

(Please cc me on replies)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: autogen.sh instructions suggestion

Posted by Robert Schiele <rs...@uni-mannheim.de>.
On Wed, Sep 25, 2002 at 11:08:00PM +1000, Martin Pool wrote:
> No, it won't occur with all sources.
> 
> On Debian, "autoconf" is a wrapper that tries to detect whether a
> particular configure.in requires 2.13 or 2.50.  As far as I can
> determine, it seems to decide that APR only needs 2.13, and Subversion
> needs 2.50.  That may be corrrect.  However Subversion's configure
> script seems to assume that APR has been built with the same version
> of autoconf, and so it breaks when it tries to recursively invoke
> apr/configure.  Likewise for apr-util.  Packages that call each
> other's configure scripts, and where one requires >=2.50 and one
> >=2.13 are probably a rare case.

Ok, I understand the problem now.

> I agree that Debian's handling of this is a bit crufty, although
> perhaps the least evil way of handling the messy upgrade situation in
> autoconf.  I think there is a bug open to that effect.

Hmm, I would have just installed the old version with a different
name, e.g. oldautoconf, and documented that the users may fall back to
these, if a program didn't like the new one.  Shouldn't that work?  I
don't like automatic stuff that makes strange assumptions about my
code. --- But ok, I am also the guy that has no old autoconf on his
systems, as I am of the opinion, the application must be fixed, not
the tool.  People are free to disagree here.  ;-)

> However, regardless of what you think of Debian, I think Subversion
> would be doing no harm, and would be helping its users, to add this
> suggestion to the documentation.

Yes, I think you're right here.  I just didn't understand the problem
completely before.

Robert

-- 
Robert Schiele			Tel.: +49-621-181-2517
Dipl.-Wirtsch.informatiker	mailto:rschiele@uni-mannheim.de

Re: autogen.sh instructions suggestion

Posted by Martin Pool <mb...@samba.org>.
On 25 Sep 2002, Robert Schiele <rs...@uni-mannheim.de> wrote:

> > Simply invoking this way fixes the problem:
> > 
> >     ~/work/subversion/trunk% AUTOCONF=autoconf2.50 sh   ./autogen.sh
> > 
> > I'd like to suggest that in INSTALL (or some other document) you tell
> > Debian users to do this.
> 
> Shouldn't this be documented within Debian sid then?  As this problem
> will occur then with _all_ sources that rely on autoconf 2.50.

No, it won't occur with all sources.

On Debian, "autoconf" is a wrapper that tries to detect whether a
particular configure.in requires 2.13 or 2.50.  As far as I can
determine, it seems to decide that APR only needs 2.13, and Subversion
needs 2.50.  That may be corrrect.  However Subversion's configure
script seems to assume that APR has been built with the same version
of autoconf, and so it breaks when it tries to recursively invoke
apr/configure.  Likewise for apr-util.  Packages that call each
other's configure scripts, and where one requires >=2.50 and one
>=2.13 are probably a rare case.

I agree that Debian's handling of this is a bit crufty, although
perhaps the least evil way of handling the messy upgrade situation in
autoconf.  I think there is a bug open to that effect.

However, regardless of what you think of Debian, I think Subversion
would be doing no harm, and would be helping its users, to add this
suggestion to the documentation.

-- 
Martin 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: autogen.sh instructions suggestion

Posted by Robert Schiele <rs...@uni-mannheim.de>.
On Wed, Sep 25, 2002 at 12:17:36PM +1000, Martin Pool wrote:
> On Debian sid, with autoconf2.13 and autoconf2.50 installed and apr
> checked out in a subdirectory as suggested, it is necessary to set
> $AUTOCONF when running autogen.sh.  Otherwise the apr subdirectory is
> set up using autoconf2.13, and it can fail with errors like this:
> 
>     ~/work/subversion/trunk% CC=distcc ./configure --disable-shared
>     creating config.nice
>     configure: Apache Portable Runtime (APR) library configuration
>     checking for APR... reconfig
>     configuring package in apr now
>     configure: warning: CC=distcc: invalid host type
>     loading cache /dev/null
>     checking host system type... Invalid configuration `CC=distcc': machine `CC=distcc' not recognized
> 
>     checking target system type... Invalid configuration `CC=distcc': machine `CC=distcc' not recognized
> 
>     checking build system type... Invalid configuration `CC=distcc': machine `CC=distcc' not recognized
> 
>     Configuring APR library
>     Platform: 
>     checking for working mkdir -p... yes
>     APR Version: 0.9.2
>     checking for chosen layout... apr
> 
> Simply invoking this way fixes the problem:
> 
>     ~/work/subversion/trunk% AUTOCONF=autoconf2.50 sh   ./autogen.sh
> 
> I'd like to suggest that in INSTALL (or some other document) you tell
> Debian users to do this.

Shouldn't this be documented within Debian sid then?  As this problem
will occur then with _all_ sources that rely on autoconf 2.50.

Robert

-- 
Robert Schiele			Tel.: +49-621-181-2517
Dipl.-Wirtsch.informatiker	mailto:rschiele@uni-mannheim.de

Re: [patch] Re: autogen.sh instructions suggestion

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Martin Pool <mb...@samba.org> writes:
> * INSTALL: Add recommendation to use $AUTOCONF to find the right
>   version, especially on Debian.  (Martin Pool)

Applied this in revision 3497, thanks Martin.

-K

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

[patch] Re: autogen.sh instructions suggestion

Posted by Martin Pool <mb...@samba.org>.
On 26 Sep 2002, Karl Fogel <kf...@newton.ch.collab.net> wrote:

> Can you post a patch to INSTALL?
> 
> (I'd mess it up right now, my brain is too fried.  But you sound
> pretty cogent... :-) ).

Here it is.  Suggested logentry:

* INSTALL: Add recommendation to use $AUTOCONF to find the right
  version, especially on Debian.  (Martin Pool)

Index: INSTALL
===================================================================
--- INSTALL
+++ .svn/tmp/INSTALL.63180.00001.tmp	2002-09-26 17:11:13.000000000 +1000
@@ -416,6 +416,16 @@
       told where to get them from.  (See the 'Build Requirements' in
       section I.)
 
+      If the command "autoconf" on your machine is not autoconf 2.50
+      or later, then you can specify the correct name with the
+      AUTOCONF variable.  (The AUTOHEADER variable is similar.)  This
+      may be required on Debian GNU/Linux, where "autoconf" is
+      actually a Perl program that attempts to guess which version is
+      required -- because of the interaction between Subversion and
+      APR it may get it wrong.  For example:
+
+          $ AUTOCONF=autoconf2.50 sh ./autogen.sh
+
       After all components are in place, follow the usual procedure:
 
           $ ./configure --enable-maintainer-mode

-- 
Martin 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: autogen.sh instructions suggestion

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Martin Pool <mb...@samba.org> writes:
> Simply invoking this way fixes the problem:
> 
>     ~/work/subversion/trunk% AUTOCONF=autoconf2.50 sh   ./autogen.sh
> 
> I'd like to suggest that in INSTALL (or some other document) you tell
> Debian users to do this.

Can you post a patch to INSTALL?

(I'd mess it up right now, my brain is too fried.  But you sound
pretty cogent... :-) ).

Thanks,
-K

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org