git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Christian Couder <christian.couder@gmail.com>
Cc: Jonathan Nieder <jrnieder@gmail.com>, git <git@vger.kernel.org>,
	Junio C Hamano <gitster@pobox.com>,
	Dominik Mahrer <teddy@teddy.ch>,
	git-packagers@googlegroups.com, Todd Zullinger <tmz@pobox.com>,
	Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [PATCH] Makefile: check that tcl/tk is installed
Date: Sun, 26 Nov 2017 14:15:10 -0500	[thread overview]
Message-ID: <20171126191510.GA1501@sigill> (raw)
In-Reply-To: <CAP8UFD0d9zM9F3tLrTMiLdfoJQsOPELtmudVB6e83DiLPN5DEA@mail.gmail.com>

On Tue, Nov 21, 2017 at 12:58:17AM +0100, Christian Couder wrote:

> > Can you say more about where this comes up?
> 
> The original discussion is:
> 
> https://public-inbox.org/git/b6b12040-100f-5965-6dfd-344c84dddf96@teddy.ch/
> 
> and here are discussions related to version 1 of this patch:
> 
> https://public-inbox.org/git/20171115125200.17006-1-chriscool@tuxfamily.org/
> 
> As Peff mentions in the original discussion, at the Bloomberg Git
> sprint, we saw someone struggling to compile Git, because of these
> msgfmt and Tcl/Tk issues.

Actually, I think we had the _opposite_ problem there.

The main problem your patch fixes is that we may silently build a
version of gitk/git-gui that do not work. The "make" process completes,
but they refer to a non-existent "wish" tool, and running them will
fail.

That's potentially annoying if you wanted those tools. But if you didn't
care about them in the first place, it's fine.

The opposite problem is when you don't care about those tools, and they
_do_ break the build. And then just to get the rest of Git built, you
have to know about and set NO_TCLTK.

AFAIK that only happens if you don't have msgfmt installed. Because then
the gitk and git-gui Makefiles try to auto-fallback to implementing
msgfmt in tcl _during the build_, and there a lack of "tclsh" will break
the build.

I think your patch does say "consider setting NO_TCLTK" in that case,
which is an improvement. But it might be nicer still if it Just Worked
(either because we don't do tcl/tk by default, or because we respect
NO_GETTEXT in the gitk/git-gui Makefiles, or because our msgfmt can
fallback further to not even using tclsh).

So I'm not really against this patch, but IMHO it doesn't make the
interesting case (you don't care about tcl and are just trying to build
git for the first time) all that much better. I do also wonder if we
want to start putting these kind of run-time checks into the Makefile
itself. That's kind of what autoconf is for. As much as I hate autoconf,
is it the right advice for somebody who doesn't want to look at the
Makefile knobs to do:

  autoconf
  ./configure
  make

?

If there are deficiencies in configure.in (and I can well believe that
there are), should we be fixing it there?

-Peff

  reply	other threads:[~2017-11-26 19:15 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-20 17:15 [PATCH] Makefile: check that tcl/tk is installed Christian Couder
2017-11-20 17:17 ` Christian Couder
2017-11-20 19:19 ` Jonathan Nieder
2017-11-20 23:58   ` Christian Couder
2017-11-26 19:15     ` Jeff King [this message]
2017-11-26 20:57       ` Christian Couder
2017-11-27 15:31         ` Jeff King
2017-11-27  1:13       ` Junio C Hamano
2017-11-27  4:31         ` Junio C Hamano
2017-11-27  4:35           ` Jeff King
2017-11-27  5:22             ` Todd Zullinger
2017-11-27  8:24             ` Christian Couder
2017-11-27 15:27               ` Jeff King
2017-11-27 23:42                 ` Junio C Hamano
2017-11-28  4:35                   ` Junio C Hamano
2017-11-28 14:37                     ` [PATCH] travis-ci: avoid new tcl/tk build requirement Todd Zullinger
2017-11-28 15:03                       ` Christian Couder
2017-11-28 16:02                         ` Todd Zullinger
2017-11-28 23:47                           ` Junio C Hamano
2017-11-27  9:08             ` [PATCH] Makefile: check that tcl/tk is installed Junio C Hamano
2017-11-25 20:46 ` Christian Couder
2017-11-26  3:53   ` Junio C Hamano
2017-11-26 14:00     ` Christian Couder
2017-11-26 17:43       ` Ramsay Jones
2017-11-26 18:34         ` Christian Couder
  -- strict thread matches above, loose matches on Subject: below --
2017-11-15 12:52 Christian Couder
2017-11-16  1:35 ` Junio C Hamano
2017-11-17 15:35   ` Christian Couder
2017-11-17 17:42     ` Todd Zullinger
2017-11-17 22:02       ` Jeff King
2017-11-20 17:25         ` Christian Couder
2017-11-20 18:12       ` Christian Couder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171126191510.GA1501@sigill \
    --to=peff@peff.net \
    --cc=chriscool@tuxfamily.org \
    --cc=christian.couder@gmail.com \
    --cc=git-packagers@googlegroups.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@gmail.com \
    --cc=teddy@teddy.ch \
    --cc=tmz@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).