ecj1 in cross-compile

David Daney
Wed Jun 11 16:32:00 GMT 2008

Andrew Haley wrote:
> Matthijs van de Water wrote:
>> I've got my GCC 4.3 toolchain working ok now, but for some reason I
>> fail to get an ecj1 binary.
>> I'm cross-compiling for ARM and I've tried --with-ecj-jar=XXX (which
>> doesn't result in an ecj1) and also tried putting ecj.jar in my build
>> dir (which complains about a missing java compiler).
>> I must be doing something wrong, but I'm not sure what.
>> I expect an i686 ecj1 binary to be compiled from the ecj-latest.jar
>> that I download in my build. Preferably standalone, like the Ubuntu
>> one.
>> The build machine doesn't have an i686 GCJ or JAVAC installed, is that
>> a problem?
>> What am I missing?
> I don't know how you think this is going to work.  ecj1 is a Java program
> and thus it needs some sort of Java runtime library.  You are going to need
> an i686 gcj installed.  

That's right.  It is a new requirement for GCC-4.3 cross compilers.
Either install a native build of gcj/libgcj in your PATH, or as Andrew
suggested use the little shell script to invoke the jar file.

You have to be careful though, if you may not always want a native
GCC-4.3 in your PATH, perhaps only when invoking the cross compiler.
You could just copy or link the native ecj1 to the cross compiler bin

David Daney

More information about the Java mailing list