Re: Autotools version

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Dec 29, 2019 at 6:30 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
> Jeffrey Walton <noloader@xxxxxxxxx> writes:
> > I'm trying to build 2.24.1 from sources. It is failing on an old
> > Fedora machine with the error:
> >     Autoconf 2.59 or higher is required
> > Would it be possible to drop the Autotools version back to earlier
> > versions of Git?
>
> Hmph, because the primary way to use our build procedure is to tweak
> with either command line or config.mak file without using configure
> at all, and because I don't use ./configure at all, I didn't even
> know that our release procedure was adding ./configure to the tarball.
>
> I wonder if it would help for me to stop shipping the file so that
> anybody who wants to use 'configure' can do so using their own
> version of autoconf?  That way, there won't be an issue like this
> that may come from autoconf & autotools versions, I guess.

Dropping 'configure' from the tarball would be a step backward, and it
wouldn't help in Jeffrey's particular case. The whole point of
distributing 'configure' in the tarball is so that people can still
build Git itself (via the familiar "./configure && make && make
install") even when they don't have autotools installed or when they
simply can't install a sufficiently recent autotools version. Years
back, I was often in situations building software for old operating
systems for which it was extremely difficult or impossible to get
autotools installed, so having 'configure' packaged in the tarball was
a lifesaver (because, although autotools itself may require a
sufficiently recent development platform, the generated configure
script doesn't).

Also, simply removing the Autoconf 2.59 requirement likely wouldn't
solve Jeffrey's problem since (presumably) the person who set that
version prerequisite did so because Git's configure.ac actually
requires features of Autoconf 2.59 and wouldn't work correctly with an
earlier version. By the way, Autoconf 2.59 was released in 2003, two
years before Git itself, so by restricting ourselves to 2.59 features,
we're already being quite build-friendly to old platforms.

A few options for Jeffery:

If you're not trying to track the bleeding-edge, build Git from the
tarball Junio releases.

If you're trying to follow the bleeding-edge, then grab 'configure'
from the latest tarball release and use it when building git.git.
(This may not be perfect, but configure.ac changes so infrequently
that it may be "good enough".)

Install Autoconf 2.59 rather than relying on the version supplied by
that old Fedora. (This is sometimes a necessary "evil" when building
modern software on old platforms.)

You could also try locally removing the Autoconf 2.59 prerequisite
from configure.ac and see if you get a working 'configure' script out
of it -- but I would be hesitant to accept such a change back into
git.git unless a thorough audit shows that Git's configure.ac doesn't
require any 2.59 features, and even then I would be hesitant because
it would restrict us from taking advantage of 2.59 features (and my
recollection was that 2.59 had a plenty useful enhancements that
earlier versions lacked).



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux