From owner-freebsd-questions@FreeBSD.ORG Mon Mar 5 21:21:26 2007 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C13DF16A401 for ; Mon, 5 Mar 2007 21:21:26 +0000 (UTC) (envelope-from fbsd06@mlists.homeunix.com) Received: from mxout-03.mxes.net (mxout-03.mxes.net [216.86.168.178]) by mx1.freebsd.org (Postfix) with ESMTP id 929B013C4BB for ; Mon, 5 Mar 2007 21:21:26 +0000 (UTC) (envelope-from fbsd06@mlists.homeunix.com) Received: from gumby.homeunix.com (unknown [87.81.140.128]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTP id 118E0519B7 for ; Mon, 5 Mar 2007 16:21:24 -0500 (EST) Date: Mon, 5 Mar 2007 21:21:22 +0000 From: RW To: freebsd-questions@freebsd.org Message-ID: <20070305212122.672136df@gumby.homeunix.com> In-Reply-To: References: <20070228183733.4f6ddfe7@gumby.homeunix.com> X-Mailer: Claws Mail 2.8.0 (GTK+ 2.10.9; i386-portbld-freebsd6.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: compiling ports with more than one job X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2007 21:21:26 -0000 On Sat, 3 Mar 2007 13:55:53 +0100 (CET) Christian Baer wrote: > On Wed, 28 Feb 2007 18:37:33 +0000 RW wrote: > > > There are two problems here. The first is that not all of the > > underlying builds support this. The second is that we are using > > Make as our ports scripting language - I'm guessing that in Gentoo > > no-one expects portage itself to be parallel. > > I don't actually *expect* anything. :-) I'm not sure why you think > that Gentoo should be an exeption here, but that won't hold up > forever - on any OS. I don't, it was an analogy. Gentoo has a portage system based on Python that mostly builds software using Gnu make, FreeBSD has a ports system based on BSD make that also mostly builds software using Gnu make. Gentoo can make use of parallel processes by passing -j to gnu make,and IMO this is how it should be done in FreeBSD. The fact that FreeBSD uses Make as its ports scripting language confuses the issue, people expect to be able to type make -j in a ports directory, but when they do that they are applying the -j to the wrong make - it's analogous the python part of Gentoo portage. I don't see any good reason why the ports system *itself* should ever support -j, there's nothing to be gained by it. All that's needed is a better mechanism to tell the underlying build to use multiple processes. > So you mean a MAKE_ARGS= -j 4 would help? Worth a try, a few ports already do this > > Probably you would want to set it conditionally in make.conf, so you > > can exclude any problematical ports. > > What do you mean with that? You wouldn't want to use it on ports that are known to fail would you?