Sequential build of libjava

Brad Lucier lucier@math.purdue.edu
Thu Sep 5 13:49:00 GMT 2002


Well, part of the mystery might be solved with this message from the gnu make
maintainer that I found in the make-bugs mail list. Bottom line---tcsh and csh
are broken with make -j <number>, and I'm using tcsh. I'll test whether I
get a parallel build to work with bash after the current make check finishes.
Unforunately, this information has not yet made it into the gnu make info files.
Perhaps someone might like to add it to the gcc docs.
There may be other reasons why other people are getting these "jobserver
unavailable" messages when doing a "make bootstrap" on gcc; perhaps someone
can work with the gnu make developers to clean up the gcc makefiles to
make this work, especially now when more people have multiprocessor machines.
Brad
>From psmith@baynetworks.com Mon Jul 02 16:54:09 2001
Received: from ns1.baynetworks.com ([134.177.3.20] helo=baynet.baynetworks.com)
	by fencepost.gnu.org with esmtp (Exim 3.16 #1 (Debian))
	id 15HAhs-0004fS-00
	for <bug-make@gnu.org>; 2001年7月02日 16:54:08 -0400
Received: from mailhost.BayNetworks.COM (ns4.baynetworks.com [132.245.135.84])
	by baynet.baynetworks.com (8.9.1/8.9.1) with ESMTP id NAA04882
	for <bug-make@gnu.org>; Mon, 2 Jul 2001 13:49:48 -0700 (PDT)
Received: from pobox.engeast.BayNetworks.COM (pobox.engeast.baynetworks.com [192.32.61.6])
	by mailhost.BayNetworks.COM (8.9.1/8.8.8) with ESMTP id QAA03864
	for <bug-make@gnu.org>; Mon, 2 Jul 2001 16:51:51 -0400 (EDT)
Received: from lemming.engeast.baynetworks.com (lemming [192.32.150.127])
	by pobox.engeast.BayNetworks.COM (SMI-8.6/BNET-97/04/24-S) with ESMTP
	id QAA04567; Mon, 2 Jul 2001 16:51:51 -0400
	for <bug-make@gnu.org>
Received: from psmith by lemming.engeast.baynetworks.com with local (Exim 3.22 #1 (Debian))
	id 15HAfW-0001o9-00; 2001年7月02日 16:51:42 -0400
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <15168.57046.824491.834852@lemming.engeast.baynetworks.com>
Date: Mon, 2 Jul 2001 16:51:34 -0400
To: "Bhatt, Milan C" <milan.c.bhatt@intel.com>
Cc: "'bug-make@gnu.org'" <bug-make@gnu.org>
Subject: RE: Recursive GMAKE with -j option 
In-Reply-To: <9287DC1579B0D411AA2F009027F44C3F405CE8@FMSMSX41>
References: <9287DC1579B0D411AA2F009027F44C3F405CE8@FMSMSX41>
X-Mailer: VM 6.92 under Emacs 20.7.2
From: "Paul D. Smith" <psmith@gnu.org>
Reply-To: "Paul D. Smith" <psmith@gnu.org>
Organization: GNU's Not Unix!
Sender: bug-make-admin@gnu.org
Errors-To: bug-make-admin@gnu.org
X-BeenThere: bug-make@gnu.org
X-Mailman-Version: 2.0.5
Precedence: bulk
List-Help: <mailto:bug-make-request@gnu.org?subject=help>
List-Post: <mailto:bug-make@gnu.org>
List-Subscribe: <http://mail.gnu.org/mailman/listinfo/bug-make>,
	<mailto:bug-make-request@gnu.org?subject=subscribe>
List-Id: Bug reports for the GNU implementation of make <bug-make.gnu.org>
List-Unsubscribe: <http://mail.gnu.org/mailman/listinfo/bug-make>,
	<mailto:bug-make-request@gnu.org?subject=unsubscribe>
List-Archive: <http://mail.gnu.org/pipermail/bug-make/>
%% "Bhatt, Milan C" <milan.c.bhatt@intel.com> writes:
 bmc> Because tcsh wasn't fully POSIX compliant, it could not properly
 bmc> establish a pipe for communication between the sub-make processes
 bmc> leading to gmake complaining that the "job sever" wasn't
 bmc> available.
Wow. I'm really surprised that C shell is so broken. But, you're
right; here's a test makefile I used:
 #SHELL = /bin/tcsh
 all: one two
 one two:
 @echo 'all: ; @echo $@' | $(MAKE) -f -
If you run this with the SHELL line commented out and -j2 or whatever,
it works fine. If you uncomment the SHELL line, it gives that error
because the file descriptors in the submake aren't valid any longer.
I couldn't see any way, reading the man page, to disable this behavior.
Note this has little to do with POSIX, per se. Neither csh nor tcsh
have any relationship whatsoever to POSIX. POSIX defines only one
shell, and that's Bourne (plus some stuff from ksh). C shell variants
aren't even close, so it's not relevant to talk about POSIX compliance
and csh/tcsh.
I'll add a note to the GNU make docs that if you want to use jobserver
you can't use csh/tcsh as your SHELL (I tested this with csh on Solaris
and it failed as well, so it's not just tcsh).
This should not be a great hardship, since no one in their right mind
would do scripting in csh/tcsh anyway ;)
-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psmith@gnu.org> Find some GNU make tips at:
 http://www.gnu.org http://www.paulandlesley.org/gmake/
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /