[kaffe] using kaffe instead of JDK to build open office

Dalibor Topic robilad@kaffe.org
Fri Aug 8 11:14:02 2003


Chris Halls wrote:
> On Fri, Aug 01, 2003 at 10:51:11AM +0200, Dalibor Topic wrote:

> The next project to fail when trying to build OOo with Java support is
> 'sandbox', but I'm afraid it's because of the use of sun internal classes
> for the JDK.  I see errors like:
> 
> ClassContextImpl.java:1: error:Can not found "sun/tools/jar/JarVerifierStream" [JLS 7.5.2, 7.6]
> JarInputStream.java:1: error:Can not found "sun/tools/jar/JarException" [JLS 7.5.2, 7.6]
> ProtectionDomain.java:1: error:Can not found "sun/security/provider/SystemIdentity" [JLS 7.5.2, 7.6]
> ProtectionDomain.java:1: error:Can not found "sun/security/provider/SystemSigner" [JLS 7.5.2, 7.6]
> Resource.java:1: error:Can not found "sun/applet/AppletAudioClip" [JLS 7.5.2, 7.6]
> ResourceImpl.java:1: error:Can not found "sun/awt/image/ByteArrayImageSource" [JLS 7.5.2, 7.6]
> ResourceImpl.java:1: error:Can not found "sun/awt/image/URLImageSource" [JLS 7.5.2, 7.6]
> 
> What possible options are there for this?  I guess that the sandbox classes
> could be reimplemented sometime using free classes?

The sun.* classes have to go. That's the only sane outcome. ;)

It seems that these sources were written before java 1.2 came out. In 
java 1.2, sun made java.util.jar part of the standard api. Protection 
domain, too. And I assume that the resource stuff could be rewritten to 
use more modern APIs too, such as javax.sound.

I don't think that should be a huge problem, since open office already 
requires java 1.4 to build, right?

> So far people at Sun have been able to respond to questions of 'why doesn't
> OOo build with a free JDK' with the answer that no-one has really tried in
> earnest.  I wonder whether there is any chance of getting some of these
> reimplmented to not use classes that are not even an official part of the
> JDK API.

Given that even Sun says that people should *not use them* if they are 
serious about whatever they are doing, I think a rewrite of those 
classes is necessary anyway. Just to purge the cruft.

Of course, you can wait until Sun changes the internal classes in a way 
that subtly breaks OpenOffice and go bug hunting then. Nothing 
guarantees that it won't happen, or that it hasn't happen, but you just 
didn't notice becuase the internal classes are undocumented ;)

cheers,
dalibor topic