Mail Archives: djgpp/2001/07/19/02:33:59
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 -