[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #16088] "make -r" causes "virtual memory exhausted" error in make o
From: |
anonymous |
Subject: |
[bug #16088] "make -r" causes "virtual memory exhausted" error in make on AIX only |
Date: |
Tue, 14 Mar 2006 10:21:47 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.7.12) Gecko/20060202 Fedora/1.0.7-1.2.fc4 Firefox/1.0.7 |
URL:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=16088>
Summary: "make -r" causes "virtual memory exhausted" error
in make on AIX only
Project: make
Submitted by: None
Submitted on: Tue 03/14/06 at 10:21
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Component Version: 3.80
Platform Version: UNIX
Fixed Release: None
_______________________________________________________
Details:
This bug causes make to fail on AIX only.
To recreate:
Create 2 makefiles, "Makefile", and "sub.mk"...
"Makefile" contents:
___________________________
default:
make -r sub.mk
___________________________
"sub.mk" contents:
___________________________
default:
___________________________
Place both makefiles in the same directory, and then run, "make". You'll see
an error like this:
___________________________
running sub.mk
make -r sub.mk
make[1]: Entering directory `/tmp'
make[1]: *** virtual memory exhausted. Stop.
make[1]: Leaving directory `/tmp'
make: *** [default] Error 2
___________________________
It appears that the problem is that 'make' allocates space for structures to
hold the built-in rules. However, when you run make with the "-r" flag to
disable these built-in implicit rules, make _still_ attempts to allocate
space for them. Since the space required to hold zero built-in rules is zero
bytes, it calls:
malloc(0)
AIX doesn't like such a request, and the malloc fails. Other Unix and Linux
platforms seemingly handle this abnormal condition more gracefully.
A temporary work-around is to add a rule such that 'make' mallocs >0 bytes.
For example, by changing Makefile to that shown below, the problem is masked
and the make continues:
___________________________
%.xxxxx: %.yyyyy
default:
make -r sub.mk
___________________________
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=16088>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bug #16088] "make -r" causes "virtual memory exhausted" error in make on AIX only,
anonymous <=