compilation problems with ecj.jar
Marco Trudel
mtrudel@gmx.ch
Tue Jan 16 10:07:00 GMT 2007
Michael Koch wrote:
> On Tue, Jan 16, 2007 at 10:42:36AM +0100, Marco Trudel wrote:
>> 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...
>> Where did you got your ecj.jar from?
From the link from Toms email. When he announced the merge.
But I would be surprised if the problem is from the ecj.jar. After all,
it's only a bunch of classes and they compile correct with a shared GCJ
or with a static GCJ. Just not from the static GCJ during compilation
(make).
thanks
Marco
More information about the Java
mailing list