is this a typo on your manual?
Dear Make do you know whether the third prerequisite list here https://prnt.sc/_l1Jg2gkV4v_ expands to "foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1" https://pastebin.com/DFr9Athi ? Shailan
Re: is this a typo on your manual?
On Wed, 2023-02-15 at 05:10 +, Shailan Patel wrote: > do you know whether the third prerequisite list here > https://prnt.sc/_l1Jg2gkV4v_ expands to "foo.1 bar.1 foo.2 bar.2 > foo.1 foo.1 bar.1 foo.1 bar.1" https://pastebin.com/DFr9Athi ? Hi; Please choose just one mailing list to ask on since most people read both. I chose to keep bug-make in this reply. Also please cut and paste the text you're talking about, or at least include a reference to where in the manual you're looking, rather than using links to external sites containing screenshots. Some people can't or won't follow these links, others can't view screenshots, and at some point those external sites will go away and those links will stop working, then we can't understand the question when we view it in the email list archives. Thanks!
Re: Regression on Cygwin: Problems with parallel make in 4.4
On Tue, 2023-02-14 at 01:04 +0100, Bruno Haible wrote: > And possibly also on GNU/Hurd. Cf. > https://lists.gnu.org/archive/html/bug-make/2023-01/msg00107.html I may be misremembering but I thought that you had tried forcing the pipe jobserver option on GNU/Hurd and it didn't help.
Re: Regression on Cygwin: Problems with parallel make in 4.4
Paul Smith wrote: > > And possibly also on GNU/Hurd. Cf. > > https://lists.gnu.org/archive/html/bug-make/2023-01/msg00107.html > > I may be misremembering but I thought that you had tried forcing the > pipe jobserver option on GNU/Hurd and it didn't help. This must be a misunderstanding. I never said that. I don't even know how to do this, within the framework of GNU make's test suite. All I said was, comparing the Cygwin failures with the GNU/Hurd failures [1]: "In all these failures, where we see an error message "Leftover temporary files" in GNU/Hurd, we see "Device or resource busy" in Cygwin." Bruno [1] https://lists.gnu.org/archive/html/bug-make/2023-01/msg00134.html
Re: Regression on Cygwin: Problems with parallel make in 4.4
On 2/15/2023 1:34 PM, Bruno Haible wrote: Paul Smith wrote: And possibly also on GNU/Hurd. Cf. https://lists.gnu.org/archive/html/bug-make/2023-01/msg00107.html I may be misremembering but I thought that you had tried forcing the pipe jobserver option on GNU/Hurd and it didn't help. This must be a misunderstanding. I never said that. I don't even know how to do this, within the framework of GNU make's test suite. All I said was, comparing the Cygwin failures with the GNU/Hurd failures [1]: "In all these failures, where we see an error message "Leftover temporary files" in GNU/Hurd, we see "Device or resource busy" in Cygwin." Bruno [1] https://lists.gnu.org/archive/html/bug-make/2023-01/msg00134.html One thing to keep in mind here is that your tests on Cygwin were done on Cygwin 2.9.0, in which FIFOs were very poorly supported. For example, a FIFO couldn't have multiple readers or writers. If GNU/Hurd has similar limitations, that could explain the similar test results. Cygwin's FIFO implementation was completely rewritten starting with 3.0, and it now supports multiple readers and writers. So the issue with current Cygwin is more likely a bug in Cygwin and/or make. Marco, did you by any chance run the test suite when you built make for Cygwin? It would by interesting to know what test failures there are with Cygwin 3.4.6. Ken P.S. Here's a footnote about the failures I'm seeing. I cited https://tug.org/pipermail/tlbuild/2023q1/005290.html , in which I reported problems with the build of TeX Live. I said I had a hang in 'make -j13 world'. This was an oversimplification. What really happens is that the hang occurs when I run the 'Build' script provided by the TeX Live sources. This is a shell script that runs make in a further sub-shell. If I simply run 'make -j13 world' without using the Build script, it doesn't hang. I don't know if this provides any clue as to where the problem is.
Re: is this a typo on your manual?
Please reply to the list, not privately, then everyone can help and/or see the answer. On Wed, 2023-02-15 at 18:19 +, Shailan Patel wrote: > Hello im referring to this > chapter https://www.gnu.org/software/make/manual/make.html#Secondary- > Expansion > > and im referring to this example here: > > The following example will help illustrate these behaviors: > .SECONDEXPANSION: > > foo: foo.1 bar.1 $$< $$^ $$+# line #1 > > foo: foo.2 bar.2 $$< $$^ $$+# line #2 > > foo: foo.3 bar.3 $$< $$^ $$+# line #3 > In the first prerequisite list, all three variables ($$<, $$^, > and $$+) expand to the empty string. In the second, they will have > values foo.1, foo.1 bar.1, and foo.1 bar.1 respectively. In the third > they will have values foo.1, foo.1 bar.1 foo.2 bar.2, and foo.1 bar.1 > foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1 respectively. > please could you tell me how foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 > bar.1 foo.1 bar.1 is derived? In line #1 all the variables are empty. After line #1 parsed, in line #2, the variables have values as computed in line #1: $$< is "foo.1" and $$^ is "foo.1 bar.1", and $$+ is "foo.1 bar.1". After line #2 is parsed (when we are parsing line #3) the prerequisites of "foo" are as follows: foo.1 bar.1 (from line #1) foo.2 bar.2 (new prereqs added by line #2) foo.1($$< in line #2) foo.1 bar.1 ($$^ in line #2) foo.1 bar.1 ($$+ in line #2)
Re: is this a typo on your manual?
Hello im referring to this chapter https://www.gnu.org/software/make/manual/make.html#Secondary-Expansion and im referring to this example here: The following example will help illustrate these behaviors: .SECONDEXPANSION: foo: foo.1 bar.1 $$< $$^ $$+# line #1 foo: foo.2 bar.2 $$< $$^ $$+# line #2 foo: foo.3 bar.3 $$< $$^ $$+# line #3 In the first prerequisite list, all three variables ($$<, $$^, and $$+) expand to the empty string. In the second, they will have values foo.1, foo.1 bar.1, and foo.1 bar.1 respectively. In the third they will have values foo.1, foo.1 bar.1 foo.2 bar.2, and foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1 respectively. please could you tell me how* foo.1 bar.1 foo.2 bar.2 foo.1 foo.1 bar.1 foo.1 bar.1* is derived? On Wed, Feb 15, 2023 at 6:06 PM Paul Smith wrote: > On Wed, 2023-02-15 at 05:10 +, Shailan Patel wrote: > > do you know whether the third prerequisite list here > > https://prnt.sc/_l1Jg2gkV4v_ expands to "foo.1 bar.1 foo.2 bar.2 > > foo.1 foo.1 bar.1 foo.1 bar.1" https://pastebin.com/DFr9Athi ? > > Hi; > > Please choose just one mailing list to ask on since most people read > both. I chose to keep bug-make in this reply. > > Also please cut and paste the text you're talking about, or at least > include a reference to where in the manual you're looking, rather than > using links to external sites containing screenshots. Some people > can't or won't follow these links, others can't view screenshots, and > at some point those external sites will go away and those links will > stop working, then we can't understand the question when we view it in > the email list archives. > > Thanks! >