git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Chicken/egg problem building from a 'git clone'

From
JEJoi Ellis <gyles19@visi.com>
Date
Feb 6, 2009, 04:09 UTC
Message-ID
<loom.20090206T035001-370@post.gmane.org>

I have an elderly laptop. I can build and install git using a tarball. I original installed git 1.6.0. This evening I noticed 1.6.1 was availble, and I decided to try building from the git repository using 'git clone' as described in the git home page. And to jump ahead of myself, I want to point out that 1.6.1 will build from the tarball. However...

The workspace I get using 'git clone' does not provide a configure file. And because my laptop isn't running a bleeding edge distribution, my build tools are older than you'd expect, so...

"make all" fails becuase my libaries are old:
    LINK git-fast-import
fast-import.o: In function `store_object':
/usr/local/src/git/git/fast-import.c:1086: undefined reference to `deflateBound'
/usr/local/src/git/git/fast-import.c:1109: undefined reference to `deflateBound'
"make configure" fails because my autoconf is too old.
    GEN configure
Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
       [-l dir] [--localdir=dir] [--version] [template-file]
make: *** [configure] Error 1

This found an issue with the Makefile, because my autoconf is sooo old, it's puking on the configure target build command, in part:

  autoconf -o $@ $<+ && \

because this old autoconf doesn't have a -o parameter. If I change the Makefile to:

  autoconf $<+ >$@ && \
Then the error becomes
    GEN configure
FATAL ERROR: Autoconf version 2.59 or higher is required for this script
make: *** [configure] Error 2

which is closer to what you intended. I'm not sure what difference it makes between specifying -o and simply letting it default.

Anyway, would it break anything to have a 'configure' script provided as part of the clone pull? It's provided in the tarball, and if I copy the 1.6.1 configure script into my git workspace and run it, it seems to build. I'm just not sure I trust it to be up-to-date with the configure script you folks can generate with your modern build tools using 'make configure'.

I realize the configure script is technically a build target but not having it does cause this chicken-egg issue on older platforms.

Next: Johannes Schindelin
Message 1 of 31 in “Chicken/egg problem building from a 'git clone'”
  1. Joi EllisFeb 6, 2009
  2. Johannes SchindelinFeb 6, 2009
  3. Joi EllisFeb 6, 2009
  4. Miles BaderFeb 6, 2009
  5. Junio C HamanoFeb 6, 2009
  6. Miles BaderFeb 6, 2009
  7. Junio C HamanoFeb 6, 2009
  8. Miles BaderFeb 6, 2009
  9. Junio C HamanoFeb 6, 2009
  10. Miles BaderFeb 6, 2009
  11. Jeff KingFeb 6, 2009
  12. Junio C HamanoFeb 6, 2009
  13. Joi EllisMar 1, 2009
  14. Björn SteinbrinkMar 1, 2009
  15. Andreas EricssonMar 5, 2009
  16. John TapsellMar 5, 2009
  17. Jeff KingMar 5, 2009
  18. Matthieu MoyMar 5, 2009
  19. Jeff KingMar 5, 2009
  20. Jakub NarebskiMar 6, 2009
  21. Matthieu MoyMar 6, 2009
  22. Johannes SchindelinMar 6, 2009
  23. John TapsellMar 6, 2009
  24. asciidoc, was Re: Chicken/egg problem building from a 'git clone'Johannes Schindelin, Mar 6, 2009
  25. John TapsellMar 6, 2009
  26. Jakub NarebskiMar 6, 2009
  27. John TapsellMar 6, 2009
  28. Björn SteinbrinkFeb 6, 2009
  29. Johannes SchindelinFeb 6, 2009
  30. Björn SteinbrinkFeb 6, 2009
  31. Daniel BarkalowFeb 6, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.