Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 1997 16:47:49 +1030
From:      Greg Lehey <grog@lemis.com>
To:        Chuck Robey <chuckr@glue.umd.edu>
Cc:        FreeBSD-Hackers@FreeBSD.ORG
Subject:   Re: gcc error
Message-ID:  <19971222164749.21879@lemis.com>
In-Reply-To: <Pine.BSF.3.96.971222005515.4983T-100000@picnic.mat.net>; from Chuck Robey on Mon, Dec 22, 1997 at 12:58:23AM -0500
References:  <Pine.BSF.3.96.971222005515.4983T-100000@picnic.mat.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 22, 1997 at 12:58:23AM -0500, Chuck Robey wrote:
> I was trying to compile ddd version 2.2 for a project, and I got an error:
>
> ==> Making all in ./ddd...
> Building ddd-2.2-i386-unknown-freebsd3.0...
> c++  -DHAVE_CONFIG_H -DNDEBUG -O2 -g -Wall -fexternal-templates
> -felide-constructors -fconserve-space -c -I. -I. -I./..
> -I/usr/X11R6/include -o ddd.o ddd.C
> ddd.C: In function `int main(int, char **)':
> ddd.C:2490: virtual memory exhausted
> *** Error code 1
>
> This can't possibly refer to FreeBSD's memory, seeing as this is a big
> machine, with 192M of swap, and it wasn't even fractionally full.  I think
> it's some gcc/g++ (note it's a C++ file being compiled) problem, but I
> don't know how to increase g++'s idea of memory.
>
> Does anyone else know how?

Yes, this is a per-process limit.  Check with ulimit or friends:

=== grog@freebie (/dev/ttyp5) ~ 1 -> ulimit -a
core file size (blocks)  unlimited
data seg size (kbytes)   524288
file size (blocks)       unlimited
max memory size (kbytes) unlimited
stack size (kbytes)      65536
cpu time (seconds)       unlimited
pipe size (512 bytes)    1
open files               1024
max user processes       120
virtual memory (kbytes)  589824

At a guess, your data seg, stack size or max virtual memory will be
too low (I think 32 MB is the absolute minimum for data seg, and that
may be too low).  Check the sh/bash man page for ulimit.  If you use a
csh variant, I think the corresponding command is called limit, and
it's also in the shell man page.  Check also login.conf: that's where
your hard limits get set.

Greg



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