compilation problems with ecj.jar
Marco Trudel
mtrudel@gmx.ch
Tue Jan 16 09:42:00 GMT 2007
Marco Trudel wrote:
> Andrew Haley wrote:
>> [snip]
>>
>> > > Nevertheless, this command does work for me, producing ecjx. It
>> needs
>> > > a lot of memory to compile, though. Perhaps you're running out of
>> > > memory.
>> > > Yes, I think you're right. I tried a couple of times and
>> sometimes got > "virtual memory exhausted: Cannot allocate memory",
>> even if I removed > optimization. How much RAM do you have? I have
>> 1gb RAM and 2gb swap. I'm > somewhat surprised that that's not enough
>> or at least not enough without > optimization...
>>
>> The compilation process peaks at about 1.5G of RAM on my system.
>
> Strange, how can it then be that 3gb are not enough on mine?
>
> [snip]
>
> PS: I'll try to compile a static GCJ with ecj.jar on a machine with 10gb
> swap. I'll report if that works...
So, I tried the compilation on another machine with the mentioned 10gb
swap. The same command also fails but with a different message:
gcj: Internal error: Segmenation fault (program jc1)
It still has over 8gb free RAM. I then run that failing command with a
gcj from a complete compilation (one I built without ecj.jar) and it
works without a problem. So it seems that for static compilation, the
generated gcj is not yet ready for compiling ecj.jar or is missing some
arguments. That would also explain why you can compile it manually.
Shall I fill in a bugreport? I assume this is not highest priority ;-)
BTW,l there are more problems with compiling ecj.jar for
cross-compiling. Creating a host-linux, target-windows GCJ will create a
ecj.exe what is definitely the wrong thing to do. I'll investigate some
more and report that latter...
Marco
More information about the Java
mailing list