lang/gcc46 building stuff in $TMPDIR

Doug Barton dougb at FreeBSD.org
Sat Jun 9 16:33:28 UTC 2012


On 06/06/2012 23:15, Gerald Pfeifer wrote:
> On Wed, 6 Jun 2012, Doug Barton wrote:
>> I purposely have a tiny /tmp, and while building gcc46 today it
>> filled up with "stuff" from the gcc build. Is there any way to
>> modify this process so that it keeps everything in WRKDIR?
> 
> GCC in general should put all its build stuff in WRKDIR and only
> stash really temporary things (coming from an individual invocation
> of GCC such as assembly files if any) in /tmp for short periods of
> time.
> 
> I am not aware of anything we could do beyond what I already have
> in the port, but then this is the first time I hear about this, in
> the context of FreeBSD and also upstream.
> 
> Are you saying you actually noticed some leftovers in /tmp, or that
> there "just" has been more at certain points in time than you would
> expect?

I finally had time to watch this closely, and found the culprit(s).
While building the port creates a lot of files in /tmp (I think it's
actually $TMP, not $TMPDIR). A lot of them are *.s files, most of which
are small, but one of which grew to over 64M, which is what caused my
build to fail. It also creates a variety of other files, including .o,
.c, .ld, .le, .zip, etc.

The java OPTION also creates some pretty big jar directories, I had one
grow to 49M, which didn't crash my build, but might blow up someone with
a smaller /tmp.

My suggestion would be to create a directory in $WRKDIR and assign $TMP
(or whatever the right envar is) to it.

Doug

-- 

    This .signature sanitized for your protection


More information about the freebsd-ports mailing list