bug-make
[Top][All Lists]
Advanced

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

Re: Unable to build git@7774cfed62 using make@033330e


From: Dario Gjorgjevski
Subject: Re: Unable to build git@7774cfed62 using make@033330e
Date: Mon, 8 Apr 2024 12:46:14 +0200

Thank you very much -- I had completely missed that commit.
I sent an email to the Git mailing list.

Best regards,
Dario

On Thu, Apr 4, 2024 at 8:24 PM Martin Dorey
<Martin.Dorey@hitachivantara.com> wrote:
>
> I'm afraid it's a bug in git's config.mak.uname.  To point at one example, I 
> think of many:
>
> https://github.com/git/git/blob/7774cfed62/config.mak.uname#L248
>
> ... starts with a tab but, this human is reasonably confident, from eg the 
> indentation, that it's intended as Make syntax rather than shell script.  
> "else" is common in shell script and in Gnu Make.  When Make's parser sees 
> one in a rule's "recipe", how's it to decide whether it's for the shell or 
> for Make?  According to the Make documentation, it's determined by whether 
> the line starts with a tab.  That's clear, simple and imo what someone new to 
> the beast would guess but the implementation in Make wasn't previously 
> rigorous.
>
> This came up recently in the Linux kernel build system, resulting in:
>
> https://github.com/torvalds/linux/commit/82175d1f9430d5a026e2231782d13da0bf57155c
>
> In finding that, I see that poor Yamada-san caught an earful:
>
> https://www.spinics.net/lists/linux-kbuild/msg39477.html
> https://www.spinics.net/lists/linux-kbuild/msg39482.html
>
> I fear we should have led with the "else" explanation, as I did above.  The 
> Make check-in:
>
> https://git.savannah.gnu.org/cgit/make.git/commit/?id=07fcee35f058a876447c8a021f9eb1943f902534
>
> ... mentions "SV 64815" and its patch mentions "SV 64085", neither of which 
> were right:
>
> https://savannah.gnu.org/bugs/?64815: gxditview renders '\-' as '-' (a short 
> line segment like a hyphen)
> https://savannah.gnu.org/bugs/?64085: -e passed to shell in POSIX mode with 
> -i or .IGNORE
>
> The intended Make bug was:
>
> https://savannah.gnu.org/bugs/?64185: *** only one 'else' per conditional. 
> Stop. due to else in recipe
>
> ________________________________
> From: bug-make-bounces+martin.dorey=hds.com@gnu.org 
> <bug-make-bounces+martin.dorey=hds.com@gnu.org> on behalf of Dario 
> Gjorgjevski <dario.gjorgjevski@gmail.com>
> Sent: Thursday, April 4, 2024 06:41
> To: bug-make@gnu.org <bug-make@gnu.org>
> Subject: Unable to build git@7774cfed62 using make@033330e
>
> ***** EXTERNAL EMAIL *****
>
> Attempting to build git@7774cfed62 using make@033330e results in a
> missing 'endif' at the end of config.mak.uname:
>
> config.mak.uname:842: *** missing 'endif'.  Stop.
>
> Permalink to config.mak.uname:
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgit%2Fgit%2Fblob%2F7774cfed62%2Fconfig.mak.uname&data=05%7C02%7Cmartin.dorey%40hds.com%7C84b15985315d44685dfd08dc54ada395%7C18791e1761594f52a8d4de814ca8284a%7C0%7C0%7C638478351967935311%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=iMn1yFKf%2BejRxv4YtHG1vuRc7F9CU%2FbL4pDC4PYcNow%3D&reserved=0.
> (Included from Makefile:
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgit%2Fgit%2Fblob%2F7774cfed62%2FMakefile%23L1438&data=05%7C02%7Cmartin.dorey%40hds.com%7C84b15985315d44685dfd08dc54ada395%7C18791e1761594f52a8d4de814ca8284a%7C0%7C0%7C638478351967943429%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=jk37ludTLJf9cNnM%2BySubfTcBHN5GFjrOAdp%2FmG88bk%3D&reserved=0.)
> As far as I can see, both git's Makefile and config.mak.uname look
> good.  The latest tagged release of make, 4.4.1, has no problems with
> it, and neither does the make shipped with macOS.
>
> Best regards,
> Dario
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]