Bug#350091: kaffe: /usr/lib/kaffe/bin/javac is broken

Wolfgang Baer WBaer at gmx.de
Mon Jan 30 09:14:39 UTC 2006


clone 350091 -1
reassign -1 ecj-bootstrap
retitle -1 ecj-bootstrap fails if java-gcj-compat is not installed

thanks


Hi Daniel,

Daniel Schepler wrote:
> Package: kaffe
> Version: 2:1.1.6.91-2
> Severity: important
> 
> Several java packages are now failing to build with messages like this one 
> from my build log for cup:

I am already aware of this problem. Only java packages which are not build via
ant are affected - thats the minority.

> ...
> make[1]: Entering directory `/tmp/buildd/cup-0.10k'
> /usr/lib/kaffe/bin/javac -nowarn -d classes java_cup/*.java java_cup/*/*.java
> incorrect classpath: /usr/share/kaffe
> ----------
> 1. ERROR in java_cup/Main.java
>  (at line 1)
> 
> package java_cup;
>         ^
> The type java.lang.Object cannot be resolved. It is indirectly referenced from 
> required .class files
> ----------
> 1 problem (1 error)make[1]: *** [cup.jar] Error 255
> make[1]: Leaving directory `/tmp/buildd/cup-0.10k'
> make: *** [build] Error 2
> 
> If this is intentional, and all packages need to specify a classpath or 
> bootclasspath explicitly, let me know so I can file bug reports against the 
> affected packages.

No, its not intentional and no package needs to specify anything unless I have
filed a bug report against them.

The problem is that kaffe now uses ecj-bootstrap as its compiler. Using kaffe
via ant directly uses a programming interface and compiles against kaffes
runtime classes. Compiling with the javac command is (currently) a link to
/usr/bin/ecj.

The problem is that ecj-bootstrap is the source of the failure. It somehow
needs some setup from java-gcj-compat to fullfill its job. You can easily
verify this by installing java-gcj-compat and compiling a simple
HelloWorld.java with /usr/bin/ecj-bootstrap which will work. Removing
java-gcj-compat and it will fail. However, where the problem is is still
to be investigated.

The other (upcoming) fix will be that kaffe uses its own wrapper script
against ecj-bootstrap to compile against its runtime classes. This will be
added in the next uploads and fixes the problems regardless of ecj-bootstrap.

I will therefore clone this bug report and reassign to ecj-bootstrap.
I will let it open against kaffe until the new wrapper script is added.

Wolfgang







More information about the pkg-java-maintainers mailing list