Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Sep 2013 11:52:08 -0400
From:      Gary Palmer <gpalmer@freebsd.org>
To:        Thomas Laus <lausts@acm.org>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: FreeBSD 9-Stable + Atom D510 Freeze
Message-ID:  <20130920155208.GA55143@in-addr.com>
In-Reply-To: <20130920144928.GA50355@mail.laus.org>
References:  <523AFF46.29244.4657A1@lausts.acm.org> <523B91F2.8070004@heuristicsystems.com.au> <523C49A9.5719.289C1E@lausts.acm.org> <20130920143615.GA40029@in-addr.com> <20130920144928.GA50355@mail.laus.org>

index | next in thread | previous in thread | raw e-mail

On Fri, Sep 20, 2013 at 10:49:28AM -0400, Thomas Laus wrote:
> Gary Palmer [gpalmer@freebsd.org] wrote:
> > 
> > When building kernel & world do you use the '-j' argument to do parallel
> > builds?  AFAIK thats not done by default, but it is for some ports.
> >
> Gary:
> 
> I just use the system defaults when building anything.  If there is a
> '-j' argument passed to the compiler, I was not the one that did it.
> Does this mean that the port building process needs to determine the
> processor type in the configure stage?  I only use portmaster to keep
> the ports updated.  I don't know of a global hook that will change the
> compiler build flags in portmaster.

Hi Tim,

It's not a compiler flag, it's a make flag.  make -j n will fork off up to
n compilers to do the build.  If you just do "make buildworld" then there
is no parallel compilation.

It used to be that ports had MAKE_JOBS_SAFE in the Makefile to mark that
the port could be built using parallel compiles with the '-j' argument
to make.  It appears that the logic has been switched and now you have
to mark them as MAKE_JOBS_UNSAFE to say that parallel builds shouldn't be
done, indicating that parallel builds are the default now (unless I'm
misreading the code)

You can try putting

DISABLE_MAKE_JOBS=yes

into /etc/make.conf to see if that stops the problem on port builds.
Alternatively I think you could do

portmaster -m DISABLE_MAKE_JOBS=yes <other options>

However you'd have to do that each time you run portmaster.  I think
putting

PM_MAKE_ARGS="DISABLE_MAKE_JOBS=yes"

in your .portmasterrc may do the same thing (not tried it).

Note: this is NOT a fix.  If it works, it merely stops the ports builder
from triggering the problem by not doing parallel compiles.  The compiles
will also take longer.

Regards,

Gary


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130920155208.GA55143>