Date: Thu, 19 Jul 2001 09:33:57 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: "Clark L. Coleman" 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: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Precedence: bulk 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.