[kaffe] Warning: Unrecognized version number 47/0 in classfile.

Dalibor Topic robilad@yahoo.com
Mon Jun 30 05:57:02 2003


--- Gerlando Falauto <iurly@writeme.com> wrote:
> Ciao Dalibor!
> 
> > Please note that jikes 1.14 and 1.15 have bugs that result in a
> > miscompiled Klasses.jar file.
> 
> Yep, I wasted the entire afternoon yesterday before I figured that out.
> Wish you had told me earlier... Sgrunt! ;-)

Sorry about that. I think I've updated the docs on class compilation a couple
of times after 1.0.7 came out, to keep up with current developements. jikes
1.18 is not that great either, it's known to miscompile at least one of kaffe's
regression tests, see 
http://www.kaffe.org/pipermail/kaffe/2003-May/042293.html . 
And the current kjc version we ship creates a klasses.jar that doesn't verify
with bcel's verifier. Sigh ...

> > If you use jikes 1.18, you need to pass it the "-source 1.1" option.
> 
> I used -target 1.1 but that didn't seem to help... or was it just that it
> wasn't rebuilding all files? Whatever, I'll keep that in mind.

jikes 1.18, in contrary to other java compilers, expects the desired target in
the -source parameter. The relevant thread : 
http://www-124.ibm.com/pipermail/jikes/2002-November/002561.html
 
> My ported kaffe is very very unstable so I am afraid to touch
> Klasses.jar again. Plus, I get very weird behaviors when I try to feed
> it some Klasses from an uncompressed directory (even if they are just
> uncompressed from the original Klasses.jar!). Do you have any idea what
> evil classloading mechanism could be the cause of that? I am desperately
> trying to speed up the VM startup but that only makes things worse...

The evil classloading mechanism has been completely reworked in 1.1.0. Do you
get weird behaviour with 1.1.0 as well, when you try to load uncompressed
classes?

> Just to make sure I'm not making false assumptions:  does kaffeh have
> anything to do with how classes (and kaffe itself)  are compiled or
> loaded? I mean I assumed kaffeh would have been totally
> platform-independent, so I am using the kaffeh binary that was built when
> I compiled kaffe-1.0.7/i386-linux. Was that a BAD thing?

kaffeh is platform independent, but it's still a native binary ;) It only
generates the JNI/KNI header files for classes. It's necessary for
bootstrapping kaffe and when you're doing JNI programming.

> > A patch that would write the compiler used and its options to the
> MANIFEST.MF
> > file would be cool. Could you create one?
> 
> I don't really know a thing about the MANIFEST.MF file and I am not very
> comfortable with Makefile.am(s) either. I can give it a try, though, in
> the next few days.

That would be nice. Adding some attributes like KAFFE_JAVA_COMPILER,
KAFFE_JAVA_COMPILER_VERSION, KAFFE_JAVA_COMPILER_FLAGS could help solve such
questions in the future.

cheers,
dalibor topic

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com