{"thread":{"id":"52537","subject":"Autotools version","startedAt":"2019-12-29T22:27:57Z","lastAt":"2019-12-29T23:58:12Z","messageCount":3,"participants":["Jeffrey Walton","Junio C Hamano","Eric Sunshine"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"389047","messageId":"CAH8yC8kwsnnvmo2Oyx-NDN17KGWTgDB+_CwNqsqJQWWe47sf3Q@mail.gmail.com","threadId":"52537","inReplyTo":null,"subject":"Autotools version","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2019-12-29T22:25:06Z","receivedAt":"2019-12-29T22:27:57Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"Hi Everyone,\n\nI'm trying to build 2.24.1 from sources. It is failing on an old\nFedora machine with the error:\n\n    Autoconf 2.59 or higher is required\n\nThe irony of Autootools checking version numbers is not lost on me\nconsidering I only run configure, make and make install.\n\nWould it be possible to drop the Autotools version back to earlier\nversions of Git?\n\nJeff\n"},{"id":"389050","messageId":"xmqq4kxiiuba.fsf@gitster-ct.c.googlers.com","threadId":"52537","inReplyTo":"CAH8yC8kwsnnvmo2Oyx-NDN17KGWTgDB+_CwNqsqJQWWe47sf3Q@mail.gmail.com","subject":"Re: Autotools version","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-12-29T23:30:17Z","receivedAt":"2019-12-29T23:30:28Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jeffrey Walton <noloader@gmail.com> writes:\n\n> Hi Everyone,\n>\n> I'm trying to build 2.24.1 from sources. It is failing on an old\n> Fedora machine with the error:\n>\n>     Autoconf 2.59 or higher is required\n>\n> The irony of Autootools checking version numbers is not lost on me\n> considering I only run configure, make and make install.\n>\n> Would it be possible to drop the Autotools version back to earlier\n> versions of Git?\n\n\nHmph, because the primary way to use our build procedure is to tweak\nwith either command line or config.mak file without using configure\nat all, and because I don't use ./configure at all, I didn't even\nknow that our release procedure was adding ./configure to the tarball.\n\nI wonder if it would help for me to stop shipping the file so that\nanybody who wants to use 'configure' can do so using their own\nversion of autoconf?  That way, there won't be an issue like this\nthat may come from autoconf & autotools versions, I guess.\n\nI dunno.\n"},{"id":"389051","messageId":"CAPig+cRCRP3n8C3e7LGWdGWPzfgsxx0D0ZFiVqJRs4dtHVUFoA@mail.gmail.com","threadId":"52537","inReplyTo":"xmqq4kxiiuba.fsf@gitster-ct.c.googlers.com","subject":"Re: Autotools version","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2019-12-29T23:54:45Z","receivedAt":"2019-12-29T23:58:12Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Sun, Dec 29, 2019 at 6:30 PM Junio C Hamano <gitster@pobox.com> wrote:\n> Jeffrey Walton <noloader@gmail.com> writes:\n> > I'm trying to build 2.24.1 from sources. It is failing on an old\n> > Fedora machine with the error:\n> >     Autoconf 2.59 or higher is required\n> > Would it be possible to drop the Autotools version back to earlier\n> > versions of Git?\n>\n> Hmph, because the primary way to use our build procedure is to tweak\n> with either command line or config.mak file without using configure\n> at all, and because I don't use ./configure at all, I didn't even\n> know that our release procedure was adding ./configure to the tarball.\n>\n> I wonder if it would help for me to stop shipping the file so that\n> anybody who wants to use 'configure' can do so using their own\n> version of autoconf?  That way, there won't be an issue like this\n> that may come from autoconf & autotools versions, I guess.\n\nDropping 'configure' from the tarball would be a step backward, and it\nwouldn't help in Jeffrey's particular case. The whole point of\ndistributing 'configure' in the tarball is so that people can still\nbuild Git itself (via the familiar \"./configure && make && make\ninstall\") even when they don't have autotools installed or when they\nsimply can't install a sufficiently recent autotools version. Years\nback, I was often in situations building software for old operating\nsystems for which it was extremely difficult or impossible to get\nautotools installed, so having 'configure' packaged in the tarball was\na lifesaver (because, although autotools itself may require a\nsufficiently recent development platform, the generated configure\nscript doesn't).\n\nAlso, simply removing the Autoconf 2.59 requirement likely wouldn't\nsolve Jeffrey's problem since (presumably) the person who set that\nversion prerequisite did so because Git's configure.ac actually\nrequires features of Autoconf 2.59 and wouldn't work correctly with an\nearlier version. By the way, Autoconf 2.59 was released in 2003, two\nyears before Git itself, so by restricting ourselves to 2.59 features,\nwe're already being quite build-friendly to old platforms.\n\nA few options for Jeffery:\n\nIf you're not trying to track the bleeding-edge, build Git from the\ntarball Junio releases.\n\nIf you're trying to follow the bleeding-edge, then grab 'configure'\nfrom the latest tarball release and use it when building git.git.\n(This may not be perfect, but configure.ac changes so infrequently\nthat it may be \"good enough\".)\n\nInstall Autoconf 2.59 rather than relying on the version supplied by\nthat old Fedora. (This is sometimes a necessary \"evil\" when building\nmodern software on old platforms.)\n\nYou could also try locally removing the Autoconf 2.59 prerequisite\nfrom configure.ac and see if you get a working 'configure' script out\nof it -- but I would be hesitant to accept such a change back into\ngit.git unless a thorough audit shows that Git's configure.ac doesn't\nrequire any 2.59 features, and even then I would be hesitant because\nit would restrict us from taking advantage of 2.59 features (and my\nrecollection was that 2.59 had a plenty useful enhancements that\nearlier versions lacked).\n"}]}