Yesterday I download the Fedora 7 iso to install it in my VMWare. I haven't touched Fedora for a long time since I started using Ubuntu. The single reason (yes, the only one) is that I prefer a CD-size iso much much more than a DVD-size one, even if I have to install something from the Net after the installation.

The reason I install Fedora is because I want to try out the IcedTea project from RedHat (or, some RedHat guys), which provides a way to compile the OpenJDK sources with 100% free software, that is to say, no Sun JDK 6 for bootstrapping, no binary plugs to download for components still missing from the OpenJDK sources. This is so cool and great and it's the latest (probably the most promising) proof for me that doing JDK using the free and open source approach is the best thing we can do for the Java community.

After a simple hg clone and ./configure and make, it automatically downloads the OpenJDK source codes (sans the binary plugs), patches it, and starts the making process. When I look again into the Fedora console (thru VMWare thru rdesktop thru VNC), it's finished, with a line of warm words:

IcedTea is served: openjsk/control/build/linux-i586

The directory looks exactly like the JDK control build tree I'm familiar with. There's a gnu directory inside classes which includes an awt package and a security packge. That's just the components we cannot ship in the OpenJDK, right? Are they really provided to plug the holes?

First, I try the NotePad GUI demo, comes the error message "undefined symbol: setSunFontIDs". Not a nice output. Then I tried a tiny program on encryption using the Cipher class, this time the error message says the DES algorithm is missing. So the function is not actually plugged, only the build process is plugged.

Anyway, this is my first try on OpenJDK. At Sun's JavaOne OpenJDK booth I had tried to play with it but unfortunately the machine there has only the normal Solaris installed but not the Solaris Express Developer Edition, hence no compiler. The second time I almost decided to download the huge binary plugs but read Kelly's mail saying he's about to slim-ify the file, and I stopped again. I believe even with the sources and binaries from the OpenJDK site, the final built still cannot do GUI and Cipher. I try several commands of keytool and it works happily, so it's still a working version. That's enough now.



The first target for icedtea/openjdk was to create something that was build with a full free software stack without using any proprietary blobs and then get that to boostrap itself. Which means once you build icedtea/openjdk, you can then build openjdk itself with it. That might not seem much, but it is a huge step in confirming the basis is right.

Some of the gui parts might be difficult to replace with GNU Classpath code since the code designs have been so totally different regarding the lower level libraries. There are however various efforts underway to get free replacements going.

For the crypto part it is probably either missing some crypto algorithm, or the wiring between the OpenJDK and GNU Classpath/Crypto layer was slightly wrong. Could you post a little test program that fails? Then we make sure it works with the next release :)



Posted by Mark Wielaard on June 11, 2007 at 11:57 AM CST #

As for the crypto problem, first I cannot find the GNU Classpath/Crypto jar file inside the final build, second even if it's included, the jre/lib/security/ file does not list the provider name. A single line test is enough: javax.crypto.Cipher.getInstance("DES");

Posted by Max on June 11, 2007 at 01:06 PM CST #

FYI this is now bug #2 in our newly setup bug database:

Posted by Mark Wielaard on June 16, 2007 at 09:58 PM CST #

Just to keep you up to date (and maybe you want to try a new build now). Bug #2 has now been closed by including the GNU Classpath crypto code and adding the right security providers to the file. Also Andreas Sterbenz promised that in the future Sun's own crypto algorithm implementations might be liberated see

Graphics is still is in the works. But 2 promising approaches are described at:

Posted by Mark Wielaard on June 26, 2007 at 07:17 PM CST #

This is great. I'll try it.

Posted by Weijun on June 27, 2007 at 01:59 AM CST #

Post a Comment:
  • HTML Syntax: NOT allowed

This blog has a comments managing system that requires me to approve each comment manually. Please do not re-post and I will reply it (if I have an answer) when I get pinged.


Top Tags
« February 2016