Re: Fwd: [RFC]serialize the output of parallel make?

2010-07-30 Thread Howard Chu
Chiheng Xu wrote: -- Forwarded message -- From: Chiheng Xu Date: Fri, Jul 30, 2010 at 6:02 PM Subject: Re: [RFC]serialize the output of parallel make? To: Tim Murphy On Fri, Jul 30, 2010 at 5:54 PM, Tim Murphy wrote: Hi, The cost to the system of even starting a shell to invo

Fwd: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
-- Forwarded message -- From: Chiheng Xu Date: Fri, Jul 30, 2010 at 6:02 PM Subject: Re: [RFC]serialize the output of parallel make? To: Tim Murphy On Fri, Jul 30, 2010 at 5:54 PM, Tim Murphy wrote: > Hi, > > The cost to the system of even starting a shell to invoke a recipe is

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Timothy N Murphy
Follow-up Comment #7, bug #30606 (project make): This problem has tripped me up 100 times if not more and I almost think I have suffered brain damage from trying to get my head around it in a few cases. I need eval though. What I want to say is that nobody should ever feel bad if they have trou

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Paul D. Smith
Follow-up Comment #6, bug #30606 (project make): Ugh, my comment got truncated. I used this example: define T b := $(subst aa,,$(1)) yn := $(if $(strip $(b)),y,n) vs := $(vs) $(1):$(yn) endef $(info $(value T)) will show the string that make is storing as the value of T, without any expansio

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Paul D. Smith
Follow-up Comment #5, bug #30606 (project make): If by "already expanded ... when the template is being defined" you mean after the define T ... endef, then you're not correct. define, by itself, uses deferred expansion (just like "T = $(foo)") and so right after the define the value of T has NO

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Reinier Post
Follow-up Comment #4, bug #30606 (project make): Never mind. The problem is that the variables are already expanded, and the functions called, when the template is being defined, when I expect them to be expanded only when it is called. Resolved by doubling all $s except those on the arguments.

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Paul D. Smith
Update of bug #30606 (project make): Status:None => Not A Bug Open/Closed:Open => Closed ___ Follow-up Comment #3: Tim is correct; as fa

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Timothy N Murphy
Follow-up Comment #2, bug #30606 (project make): Hi, The $(call) expands everything, so you get this: lets say $1=ab b := ab yn := n vs := ab: You might ask why :-) Well when the $(if) is expanded by call, b has no value - the assignment has not been executed yet because your exec happens *

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Reinier Post
Follow-up Comment #1, bug #30606 (project make): The problem is not with $(if) as I thought: replacing it with ifeq ($(b),ab) yn := y else yn := n endif produces the same output. ___ Reply to this item at:

Re: make-3.82 -- parse error

2010-07-30 Thread Paul Smith
On Fri, 2010-07-30 at 11:17 +0200, Peter Breitenlohner wrote: > yesterday, I had built and installed make-3.82 on our x86-linux-gnu systems, > but then had to downgrade to 3.81 due to a serious regression. > > Attached is a small self-contained Makefile that works fine with 3.81, but > yields this

[bug #30606] mysterious behavior from $(if)

2010-07-30 Thread Reinier Post
URL: Summary: mysterious behavior from $(if) Project: make Submitted by: r_p Submitted on: Fri 30 Jul 2010 07:07:46 PM GMT Severity: 3 - Normal Item Group: Bug

Re: gmake Error.

2010-07-30 Thread Paul Smith
On Fri, 2010-07-30 at 13:31 -0400, Ana Zoghbi wrote: > I would like to kindly ask your help with an error I’m getting when > running the gmake command. I would appreciate anything that you could > do to help me. > > I’m trying to install the sudosh2 SW that I downloaded from this site > gcc -DHA

gmake Error.

2010-07-30 Thread Ana Zoghbi
Good day Mr. Richard Stallman and Roland McGrath, I would like to kindly ask your help with an error I'm getting when running the gmake command. I would appreciate anything that you could do to help me. I'm trying to install the sudosh2 SW that I downloaded from this site https://sourcefor

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Edward Welbourne
>>> This seems like quite an extreme example. stdout is line buffered by >>> default, on half-way decent systems - and even then, I'm not sure, it might be limited to when writing to a TTY. >> I use "make -j 4" to build and test gcc, the situation above is very common. > Then it means you're get

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Paul Smith
On Thu, 2010-07-29 at 22:44 -0700, Howard Chu wrote: > The scheme that I grew up with on Alliant Concentrix was just to prefix each > output line with its job number "|xx|blah blah blah". It obviously requires a > pipe for each child process' output, so that lines can be read by the parent > mak

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Edward Welbourne
>>> The shell wrapper buffers the recipe output and then grabs a semaphore >>> before writing the output to it's stdout..  if another recipe has >>> completed and is in the process of outputting to the stdout then it >>> has to wait a few microseconds. >> The use of semaphore may impair performance

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Eli Zaretskii
> Date: Fri, 30 Jul 2010 12:10:36 +0100 > From: Tim Murphy > Cc: bug-make@gnu.org > > gcc -o fred fred.cpp > perl makedef.pl -i something.def > perl prepdef.pl -i otherthing.def > error: fred.cpp: syntax error on line 345 > ERROR: File not Found > > > Which file was missing? If you can't chan

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Eli Zaretskii
> Date: Fri, 30 Jul 2010 17:55:54 +0800 > From: Chiheng Xu > Cc: psm...@gnu.org, bug-make@gnu.org > > On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskii wrote: > > > > I asked for an example.  Could you please show a "messy" output and > > the output you'd like to have after "serialization"? > > > >

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Tim Murphy
Hi, One of the major problems with log output that is interleaved is that you cannot tell what went wrong in your build because errors become disassociated with the recipe that they belong to. Some compilers etc get away with this because there is enough information in a single line of error outp

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Howard Chu
Chiheng Xu wrote: On Fri, Jul 30, 2010 at 6:01 PM, Howard Chu wrote: Chiheng Xu wrote: On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskiiwrote: I asked for an example. Could you please show a "messy" output and the output you'd like to have after "serialization"? TIA serially make : ex

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Howard Chu
Chiheng Xu wrote: On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskii wrote: I asked for an example. Could you please show a "messy" output and the output you'd like to have after "serialization"? TIA serially make : execute A, B, C programs, they print: A: Hello, I'm A, I am from Earth. B:

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 6:01 PM, Howard Chu wrote: > Chiheng Xu wrote: >> >> On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskii  wrote: >>> >>> I asked for an example.  Could you please show a "messy" output and >>> the output you'd like to have after "serialization"? >>> >>> TIA >>> >> >> serially ma

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 5:35 PM, Eli Zaretskii wrote: > > I asked for an example.  Could you please show a "messy" output and > the output you'd like to have after "serialization"? > > TIA > serially make : execute A, B, C programs, they print: A: Hello, I'm A, I am from Earth. B: The moon is

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 5:31 PM, Chiheng Xu wrote: > On Fri, Jul 30, 2010 at 5:27 PM, Tim Murphy wrote: > >> No, I understand better than you think as I do huge parallel builds every >> day. >> >> The shell wrapper buffers the recipe output and then grabs a semaphore >> before writing the output

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Eli Zaretskii
> Date: Fri, 30 Jul 2010 17:08:55 +0800 > From: Chiheng Xu > Cc: psm...@gnu.org, bug-make@gnu.org > > On Fri, Jul 30, 2010 at 4:53 PM, Eli Zaretskii wrote: > > This is not to say that I think the original idea is easy to > > implement. > > > > Actually, it is not entirely clear to me what is mea

make-3.82 -- parse error

2010-07-30 Thread Peter Breitenlohner
Hi, yesterday, I had built and installed make-3.82 on our x86-linux-gnu systems, but then had to downgrade to 3.81 due to a serious regression. Attached is a small self-contained Makefile that works fine with 3.81, but yields this error with 3.82: make-3.82: *** No rule to make target `util.a(f

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Eli Zaretskii
> Date: Fri, 30 Jul 2010 16:55:37 +0800 > From: Chiheng Xu > Cc: bug-make@gnu.org > > You probably misunderstand the meaning of "serialization of output" > and "parallel make". Well, no one has actually explained what the former means in this context. ___

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Edward Welbourne
>>> Make can redirect every parallelly issued shell's output to an >>> temporary file,  and output the stored output serially, as if in a >>> serial make. +1 for wanting this as a make feature. We a hack in some of our makefiles to implement essentially exactly the above. For reference, here's th

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 5:27 PM, Tim Murphy wrote: > No, I understand better than you think as I do huge parallel builds every day. > > The shell wrapper buffers the recipe output and then grabs a semaphore > before writing the output to it's stdout..  if another recipe has > completed and is in

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Tim Murphy
On 30 July 2010 09:55, Chiheng Xu wrote: > On Fri, Jul 30, 2010 at 4:40 PM, Tim Murphy wrote: >> Hi, >> > >> >> You set talon as the shell for make and talon in turn runs whatever >> the actual shell is but adds the serialisation.  there are a lot of >> other nice things you can do with this - e.

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 4:53 PM, Eli Zaretskii wrote: > This is not to say that I think the original idea is easy to > implement. > > Actually, it is not entirely clear to me what is meant by > "serialization" in this context.  Commands are invoked by Make in > parallel, and the output is produced

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 4:40 PM, Tim Murphy wrote: > Hi, > > > You set talon as the shell for make and talon in turn runs whatever > the actual shell is but adds the serialisation.  there are a lot of > other nice things you can do with this - e.g. measuring the execution > time of every build st

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Eli Zaretskii
> From: Paul Smith > Date: Fri, 30 Jul 2010 01:26:46 -0400 > Cc: bug-make@gnu.org > > We have to ensure that these temporary files are cleaned up properly, > even in the face of users ^C'ing their make invocations. We also need > to verify that whatever methods we use will work properly on Windo

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Tim Murphy
Hi, Serialisation can be done by external programs - no real need for make to do it. My project does it already with the talon shell wrapper that we use in our build system here: http://developer.symbian.org/oss/MCL/sftools/dev/build/file/96fee2635b19/sbsv2/raptor/util/talon You set talon as th

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Chiheng Xu
On Fri, Jul 30, 2010 at 3:45 PM, Philip Guenther wrote: > On Thu, Jul 29, 2010 at 11:29 PM, Chiheng Xu wrote: > ... >> My suggestion is that you can implement it as an optional command line >> option(like -j), and on one or two primary platforms(Linux/Windows), >> instead of on all platforms. > >

Re: [RFC]serialize the output of parallel make?

2010-07-30 Thread Philip Guenther
On Thu, Jul 29, 2010 at 11:29 PM, Chiheng Xu wrote: ... > My suggestion is that you can implement it as an optional command line > option(like -j), and on one or two primary platforms(Linux/Windows), > instead of on all platforms. So, the complexity of both possibilities. You're writing, debuggi