delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/07/19/02:33:59

Date: Thu, 19 Jul 2001 09:33:57 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: "Clark L. Coleman" <clc5q AT cobra DOT cs DOT Virginia DOT EDU>
cc: djgpp AT delorie DOT com
Subject: Re: Linker error: building gcc 2.95.3 on NT 4.0
In-Reply-To: <9j5ae9$504$1@murdoch.acc.Virginia.EDU>
Message-ID: <Pine.SUN.3.91.1010719093312.28144H-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On 19 Jul 2001, Clark L. Coleman wrote:

> make.exe[2]: Entering directory `e:/djgpp/gnu/gcc-2.953/build.djg/gcc/cp'
> 
> gcc  -DIN_GCC    -g -O1   -o ../cc1plus.exe `cat ../stamp-objlist`
> ../c-common.o ../c-pragma.o call.o decl.o errfn.o expr.o pt.o sig.o
> typeck2.o class.o decl2.o error.o lex.o parse.o ptree.o rtti.o spew.o
> typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o
> tree.o xref.o repo.o  `if [ xobstack.o != x ]; then echo ../obstack.o;
> else true; fi` `case "gcc" in "cc") if [ x != x ]; then echo ../; else
> true; fi ;; esac` `if [ x != x ]; then echo ../; else true; fi`  
> 
> E:/DJGPP/bin/ld.exe : Cannot open ../stmt.o : Too many open files (EMFILE)
[...]
> I believe that "../stmt.o" is an object obtained from the
> 'cat ../stamp-objlist' in the link step above.

How many file names are in stamp-objlist, and how far is stmt.o from
the beginning of that list?

To make sure the max number of open files is indeed the problem, I'd
suggest to write a short test program which opens its own argv[0]
until `open' fails, then prints the number of times it succeeded.  You
could then compare this number to the position of stmt.o in the list
of the object files.

Assuming that this checks out to be consistent, try putting the
following line into the [386Enh] section of system.ini file:

PerVMFiles=100

(enlarge the number if 100 is not enough).  You might need to reboot,
in order for this to take effect.

> This error is happening in the make for gpp, and I
> actually am not going to use C++ for anything.

If so, you could also do "make -k", to tell Make to keep going even if
it encounters errors.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019