Mail Archives: djgpp/2002/10/16/14:27:55
> > > bash-2.05b$ javac -d d:/documents/johnny BoardPanel.java TopPane.java
> > > BottomPane.java WheelOfFortune.java
> > > I get the following error:
> > > bash.exe: c:/progra~1/java/j2sdk1~1.0/bin/javac.exe: Not enough memory
> > > (ENOMEM)
>
> > It's not a memory problem, it's a manifestation of a bug in the way
> > Windows 2000 and XP implement the long file-name (LFN) API for DOS
> > programs. The error message comes from a function that tries
> to rename a
> > file, typically a temporary file created by the compiler is renamed to
> > the output file you specified.
>
> I think Eli's right on this. See:
>
> http://clio.rice.edu/djgpp/DJGPP_W2K.htm (Known Problems)
> http://clio.rice.edu/djgpp/W2K_workaround.htm (Workarounds)
>
> > The amount of memory is not your problem. To fix the bug, you need a
> > version of javac built with a fixed library, which includes a
> workaround
> > for this Windows bug. I don't know whether such a javac exists and
> > where, sorry.
>
> Look at the date on your .EXE images - anything dated before December 2001
> (or built with a libc from a V2.03 released before that date) may not
> work with the Win2K bugs. (You can check the libc ident in the image
> to be sure).
>
> If you can't rebuild the image, you can use the long file name TSR to
> work around the bug.
>
> Make sure you have updated your djdev203.zip to the most recent version.
Thanks Eli and Charles for your help. Unfortunately I tried all your
suggestions without success. I'm using the DJGPP 2.04 ALPHA version and I
assume that all the fixes from V2.03 refresh have already been incorporated
to V2.04 ALPHA. Nevertheless, I first tried resetting LFN=n in the
djgpp.env and after that didn't work, set it back to LFN=y and installed the
LFN TSR (ntlfn08b.zip) successfully but I'm still unable to compile using
"-d d:/documents/johnny" (or to any path longer than 9). I appreciate very
much your help, however I think I'll just change my Makefile to compile
without the -d flag and then just move the files to the appropriate
directory using mv.
Thanks again for your help.
- Raw text -