Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 09:41:49 +0100
From:      David Chisnall <theraven@FreeBSD.org>
To:        Ed Maste <emaste@freebsd.org>
Cc:        "freebsd-toolchain@freebsd.org" <freebsd-toolchain@freebsd.org>
Subject:   Re: Compiling LLDB
Message-ID:  <B62A7AA3-741B-4C22-BD12-9FD6FAFA7481@FreeBSD.org>
In-Reply-To: <CAPyFy2BRot1qeFjnPgE_h3cXvewCTpXU4zBdQ0EpSESpE%2BBAqQ@mail.gmail.com>
References:  <9A38D7D9218ED246802DA890D11AF6120EF108@wtl-exchp-1.sandvine.com> <CAPyFy2BRot1qeFjnPgE_h3cXvewCTpXU4zBdQ0EpSESpE%2BBAqQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 31 Mar 2015, at 02:53, Ed Maste <emaste@freebsd.org> wrote:
>=20
> I'd suggest checking /var/log/messages for further information. Is
> this i386 or amd64, how much memory does your build host have, and are
> you compiling with debug information or no? If had to guess, you're
> running out of memory (or running into ulimit) during linking, and the
> process is being killed as a result.

Ninja defaults to using a large number of concurrent processes, which =
can exacerbate this.  If you are on a 32-bit system, or only have 4GB or =
so of RAM (or have <2GB per core), you may want to explicitly do ninja =
-j1 to get a serial build.  Your best bet is probably something like:

$ ninja -k100
$ ninja -j1

The first will do a parallel build of everything that doesn't crash.  =
The second will do a serial build of whatever's left.  It's also =
possible to configure different pools for Ninja, though I'm not sure =
that this is exposed via the CMake interface yet.  This mechanism exists =
to allow you to say things like 'only run one link job at a time', which =
can improve matters.  You may also find that using gold from ports (or =
possibly lld, which I believe can now link lldb) will improve matters.

David




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B62A7AA3-741B-4C22-BD12-9FD6FAFA7481>