Andrew Haley wrote:
Gerald Pfeifer writes:
> I can no longer build libjava on a machine with "just" 512MB of main
> memory (FreeBSD/i386 5.4 in this case).
>
> Three weeks ago the build worked on that very machine; did we raise
> our minimum requirements
We just imported a whole new release of the Classpath library, and
it's big. But that doesn't explain this bug.
You mean 0.93, right?
> or is this simply a bug?
I think so. javax/swing/text/html/parser is quite small:
$ /usr/bin/time make javax/swing/text/html/parser.lo
What? No way! I always thought this must be something about 7gb or so.
Compiling my canadian cross mingw takes 2h. 40min to 50min is spend for
compiling html/parser...
I think a linux normal build (static, 32bit) also needs about 2h. A
cross host=mingw target=linux took only 50min to my surprise.
0.53user 0.16system 0:00.74elapsed 93%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+26369minor)pagefaults 0swaps
$ ls -lh javax/swing/text/html/.libs/parser.o
-rw-r--r-- 1 aph aph 260K Jan 30 11:44 javax/swing/text/html/.libs/parser.o
I don't know why it is using so much memory in your case.
I assume is has something to do with optimization.
- I noticed myself that I can't compile some jars on mingw (Waited an
hour) while it just took a few minutes on Linux (cross to mingw)
- A user of my builds reported also out of memory exceptions with recent
gcc builds when optimization is used
- someone made a java or libjava bugreport about that
Marco
> Gerald
>
> echo /sw/test/GCC/trunk/libjava/classpath/lib/gnu/javax/swing/text/html/parser/*.class > gnu/javax/swing/text/html/parser.list
> /bin/sh ./libtool --mode=compile /files/pfeifer/OBJ-0129-2308/gcc/gcj
-B/files/pfeifer/OBJ-0129-2308/i386-unknown-freebsd5.4/libjava/
-B/files/pfeifer/OBJ-0129-2308/gcc/ -ffloat-store -fomit-frame-pointer
-fclasspath= -fbootclasspath=/sw/test/GCC/trunk/libjava/classpath/lib
--encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c -o
gnu/javax/swing/text/html/parser.lo
-fsource-filename=/files/pfeifer/OBJ-0129-2308/i386-unknown-freebsd5.4/libjava/classpath/lib/classes
-MT gnu/javax/swing/text/html/parser.lo -MD -MP -MF
gnu/javax/swing/text/html/parser.deps @gnu/javax/swing/text/html/parser.list
> /files/pfeifer/OBJ-0129-2308/gcc/gcj
-B/files/pfeifer/OBJ-0129-2308/i386-unknown-freebsd5.4/libjava/
-B/files/pfeifer/OBJ-0129-2308/gcc/ -ffloat-store -fomit-frame-pointer
-fclasspath= -fbootclasspath=/sw/test/GCC/trunk/libjava/classpath/lib
--encoding=UTF-8 -Wno-deprecated -fbootstrap-classes -g -O2 -c
-fsource-filename=/files/pfeifer/OBJ-0129-2308/i386-unknown-freebsd5.4/libjava/classpath/lib/classes
-MT gnu/javax/swing/text/html/parser.lo -MD -MP -MF
gnu/javax/swing/text/html/parser.deps @gnu/javax/swing/text/html/parser.list -fPIC
-o gnu/javax/swing/text/html/.libs/parser.o
> jc1: out of memory allocating 4072 bytes after a total of 536273352 bytes
> gmake[3]: *** [gnu/javax/swing/text/html/parser.lo] Error 1
> gmake[3]: Leaving directory
`/files/pfeifer/OBJ-0129-2308/i386-unknown-freebsd5.4/libjava'
> gmake[2]: *** [all-recursive] Error 1
> gmake[2]: Leaving directory
`/files/pfeifer/OBJ-0129-2308/i386-unknown-freebsd5.4/libjava'
> gmake[1]: *** [all-target-libjava] Error 2
> gmake[1]: Leaving directory `/files/pfeifer/OBJ-0129-2308'
> gmake: *** [bootstrap-lean] Error 2