bug-make
[Top][All Lists]
Advanced

[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/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]