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

Re: [PATCH] Makefile: check that tcl/tk is installed

From
Christian Couder <christian.couder@gmail.com>
Date
Nov 26, 2017, 18:34 UTC
Message-ID
<CAP8UFD2fH3PP3TeqTNy9+NL4T+ycu26S6qurTrDW2mEEN4WKtQ@mail.gmail.com>
In-Reply-To
<be2b6fd3-b405-7537-ba38-60d5eb2b341a@ramsayjones.plus.com>

On Sun, Nov 26, 2017 at 6:43 PM, Ramsay Jones <ramsay@ramsayjones.plus.com> wrote:

Show 32 quoted lines
>
>
> On 26/11/17 14:00, Christian Couder wrote:
>> On Sun, Nov 26, 2017 at 4:53 AM, Junio C Hamano <gitster@pobox.com> wrote:
>>> Christian Couder <christian.couder@gmail.com> writes:
>>>
>>>> On Mon, Nov 20, 2017 at 6:15 PM, Christian Couder
>>>> <christian.couder@gmail.com> wrote:
>>>>> By default running `make install` in the root directory of the
>>>>> project will set TCLTK_PATH to `wish` and then go into the "git-gui"
>>>>> and "gitk-git" sub-directories to build and install these 2
>>>>> sub-projects.
>>>>
>>>> Has this patch fallen through the cracks or is there an unresolved issue?
>>>
>>> I had an impression that the conclusion was that the existing error
>>> message at runtime already does an adequate job and there is no
>>> issue to be addressed by this patch.  Am I mistaken?
>>
>> This patch is mostly about what happens at the build step. Its goal is
>> not much to improve what happens at runtime, though that is improved a
>> bit too. If the build step was good enough, then I would agree that
>> what happens at run time is adequate.
>>
>> Let's consider only people installing git using "make install" to use
>> it on their machine, as I think I already discussed the case of
>> packagers and added the BYPASS_TCLTK_CHECK variable for them.
>>
>
> I haven't been following this thread too closely, but I have the
> feeling that the best course of action is to simply not fall back
> to using a tcl version of msgfmt in the first place!. ;-)

Well, another possibility would be to try to use the tcl version of msgfmt in the build of git itself if msgfmt is not available. This way the build behavior of git and git-gui could be similar.

> If a given platform does not have gettext/msgfmt, then you just
> don't get an i18n-ed version of git. (no need for BYPASS_ ...).

Right now without gettext/msgfmt you get an error unless you set NO_GETTEXT. If we try to use the tcl version of msgfmt in the build of git itself, then you could still get an i18n-ed version of git if you have Tcl/Tk.

But anyway even if this is related, I think it is a different issue.
> Am I missing something?

I still think it is not the best outcome to just install git-gui and gitk by default when Tcl/Tk is not installed. In general it is best to fix potential errors at build time rather than at run time (even if the run time error is adequate).

Previous: Ramsay Jones
Message 25 of 25 in “Makefile: check that tcl/tk is installed”
  1. Makefile: check that tcl/tk is installedChristian Couder, Nov 20, 2017
  2. Christian CouderNov 20, 2017
  3. Jonathan NiederNov 20, 2017
  4. Christian CouderNov 20, 2017
  5. Jeff KingNov 26, 2017
  6. Christian CouderNov 26, 2017
  7. Jeff KingNov 27, 2017
  8. Junio C HamanoNov 27, 2017
  9. Junio C HamanoNov 27, 2017
  10. Jeff KingNov 27, 2017
  11. Todd ZullingerNov 27, 2017
  12. Christian CouderNov 27, 2017
  13. Jeff KingNov 27, 2017
  14. Junio C HamanoNov 27, 2017
  15. Junio C HamanoNov 28, 2017
  16. travis-ci: avoid new tcl/tk build requirementTodd Zullinger, Nov 28, 2017
  17. Christian CouderNov 28, 2017
  18. Todd ZullingerNov 28, 2017
  19. Junio C HamanoNov 28, 2017
  20. Junio C HamanoNov 27, 2017
  21. Christian CouderNov 25, 2017
  22. Junio C HamanoNov 26, 2017
  23. Christian CouderNov 26, 2017
  24. Ramsay JonesNov 26, 2017
  25. Christian CouderNov 26, 2017

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.