Re: MAKE_JOBS_SAFE with gmake

2009-03-25 Thread Tilman Linneweh


On Mar 24, 2009, at 20:43, Doug Barton wrote:

I'm testing my ports for MAKE_JOBS_SAFE-ness, and came across this
message when building xscreensaver (which uses gmake):

gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to
parent make rule.

I have zero gmake fu, can anyone help me make sense of that? The good
news is that the build finished successfully ...


I have noticed that this happens if somewhere in the Buildsystem a  
sub-make is called with

make/gmake instead of $(MAKE)
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: MAKE_JOBS_SAFE with gmake

2009-03-25 Thread Doug Barton
Tilman Linneweh wrote:
 
 On Mar 24, 2009, at 20:43, Doug Barton wrote:
 I'm testing my ports for MAKE_JOBS_SAFE-ness, and came across this
 message when building xscreensaver (which uses gmake):

 gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to
 parent make rule.

 I have zero gmake fu, can anyone help me make sense of that? The good
 news is that the build finished successfully ...
 
 I have noticed that this happens if somewhere in the Buildsystem a
 sub-make is called with
 make/gmake instead of $(MAKE)

Thanks for the suggestion. I don't see that anywhere in the Makefiles
(except for some testing/maintenance target that we don't use).


Doug

-- 

This .signature sanitized for your protection

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


MAKE_JOBS_SAFE with gmake

2009-03-24 Thread Doug Barton
Question,

I'm testing my ports for MAKE_JOBS_SAFE-ness, and came across this
message when building xscreensaver (which uses gmake):

gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to
parent make rule.

I have zero gmake fu, can anyone help me make sense of that? The good
news is that the build finished successfully ...


Doug

-- 

This .signature sanitized for your protection

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: MAKE_JOBS_SAFE with gmake

2009-03-24 Thread Coleman Kane
On Tue, 2009-03-24 at 12:43 -0700, Doug Barton wrote:
 Question,
 
 I'm testing my ports for MAKE_JOBS_SAFE-ness, and came across this
 message when building xscreensaver (which uses gmake):
 
 gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to
 parent make rule.
 
 I have zero gmake fu, can anyone help me make sense of that? The good
 news is that the build finished successfully ...
 
 
 Doug
 

I'll give it a stab, as I've dealt with this when trying to write a one
makefile to rule them all build system recently (in other words, I
maintain a collection of 200+ packages and my makefile attempts to call
$(MAKE) within those subdirectories).

The GNU make process for some reason was not able to determine the type
of your make that was used for building a target of the following
flavor:

mytarget: deps dep2 ...
$(MAKE) -C $(mytargetdir) mytarget

Supposedly, GNU make is supposed to recognize that $(MAKE) above is a
make program and not a normal program (such as install, BSD make,
sed, etc). In the event that it is calling a compatible GNU make
program, it can (through some means I don't fully understand) provide
access to its job pool to the child (the make process that will be
executed in the target above). This allows, for instance, you to pass -j
4 to the parent make process, and it will guarantee that no more than
four jobs get run, even if there are subdirs-within-subdirs, etc

Something is preventing this detection from succeeding in your case. I
see this a lot as well (in my own make system), but I've chosen to
ignore it in my environment. I think, in my case, that I am using
$(MAKE) within an $(eval ...) block and the $(MAKE) gets expanded before
the $(eval ...) does, making the GNU make program actually see something
like this, before it actually builds the target list:
mytarget: deps dep2 ...
/usr/local/bin/gmake -C $(mytargetdir) mytarget

Which may confuse it.

Here's a link to the ambiguous description on the GNU make website:
http://www.gnu.org/software/automake/manual/make/Error-Messages.html


-- 
Coleman Kane


signature.asc
Description: This is a digitally signed message part


Re: MAKE_JOBS_SAFE with gmake

2009-03-24 Thread Coleman Kane
On Tue, 2009-03-24 at 16:02 -0400, Coleman Kane wrote:
 On Tue, 2009-03-24 at 12:43 -0700, Doug Barton wrote:
  Question,
  
  I'm testing my ports for MAKE_JOBS_SAFE-ness, and came across this
  message when building xscreensaver (which uses gmake):
  
  gmake[1]: warning: jobserver unavailable: using -j1.  Add `+' to
  parent make rule.
  
  I have zero gmake fu, can anyone help me make sense of that? The good
  news is that the build finished successfully ...
  
  
  Doug
  
 
 I'll give it a stab, as I've dealt with this when trying to write a one
 makefile to rule them all build system recently (in other words, I
 maintain a collection of 200+ packages and my makefile attempts to call
 $(MAKE) within those subdirectories).
 
 The GNU make process for some reason was not able to determine the type
 of your make that was used for building a target of the following
 flavor:
 
 mytarget: deps dep2 ...
   $(MAKE) -C $(mytargetdir) mytarget
 
 Supposedly, GNU make is supposed to recognize that $(MAKE) above is a
 make program and not a normal program (such as install, BSD make,
 sed, etc). In the event that it is calling a compatible GNU make
 program, it can (through some means I don't fully understand) provide
 access to its job pool to the child (the make process that will be
 executed in the target above). This allows, for instance, you to pass -j
 4 to the parent make process, and it will guarantee that no more than
 four jobs get run, even if there are subdirs-within-subdirs, etc
 
 Something is preventing this detection from succeeding in your case. I
 see this a lot as well (in my own make system), but I've chosen to
 ignore it in my environment. I think, in my case, that I am using
 $(MAKE) within an $(eval ...) block and the $(MAKE) gets expanded before
 the $(eval ...) does, making the GNU make program actually see something
 like this, before it actually builds the target list:
 mytarget: deps dep2 ...
   /usr/local/bin/gmake -C $(mytargetdir) mytarget
 
 Which may confuse it.
 
 Here's a link to the ambiguous description on the GNU make website:
 http://www.gnu.org/software/automake/manual/make/Error-Messages.html
 
 

Additionally:
http://lists.samba.org/archive/distcc/2004q1/002160.html


-- 
Coleman Kane


signature.asc
Description: This is a digitally signed message part