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