FrequentlyAskedQuestions
From IcedTea
Contents |
General
What is IcedTea?
"Not all of the source code that makes up the JDK is available under an open-source license. In order to build an OpenJDK binary from source code, you must first download and install one or more of the following files from which the build process will copy over 'binary plugs' for these encumbered components." (from http://openjdk.java.net/)
IcedTea is a build harness for the OpenJDK that provides stubs and GNU Classpath replacements for the encumbered binary plugs, and allows the OpenJDK to be bootstrapped against GCJ. It is not a fork of the OpenJDK, and doesn't contain the OpenJDK source code.
Who created IcedTea?
IcedTea was originally created by the Open Source Java team at Red Hat, specifically Lillian Angel, Tania Bento, Gary Benson, Thomas Fitzsimmons, Kyle Galloway, Andrew Haley, and Francis Kung. Jim Pick provides the Xen instance and bandwidth for icedtea.classpath.org, and Mark Wielaard also helped with administrative setup of icedtea.classpath.org and build testing.
What are the future plans for IcedTea?
IcedTea is a basis on which to experiment, trying to build a completely FOSS (free & open source software) version of the OpenJDK. Ideally, we would like to work upsteam directly on the OpenJDK, but there are some legal and technical issues that must first be resolved.
IcedTea is not a fork, and is not meant to be a permanent project - just a stopgap measure to create a fully FOSS OpenJDK.
How can we be sure this is 100% free & open source software?
To produce the plug replacements, we began by satisfying as many undefined references as possible using code from a completed build of the source code from openjdk.java.net. Then we supplemented the resultant tree with more replacement code from GNU Classpath. Following that, we fixed each remaining build error by creating the simplest possible stub code.
What license is IcedTea released under?
IcedTea is released under the GPL2 + Classpath exception, which is the same license as both GNU Classpath and the OpenJDK.
Is there an IcedTea mailing list?
We do not have a dedicated IcedTea mailing list; rather, we have been using the distro-pkg-dev@openjdk.java.net list.
Building, Developing, and Packaging
What packages are required?
What distributions/platforms does IcedTea build on?
IcedTea builds on Fedora 8 and all future versions.
IcedTea was developed on Fedora 7, and will not work out-of-the-box on Fedora Core 6.
It is possible to build IcedTea under Gentoo, however a custom libgcj needs to be built first. Instructions on doing this are posted here: GentooBuildInstructions. Though these instructions were originally designed for Gentoo, it should be possible to adapt them to a number of other distributions.
Significant progress has also been made on building IcedTea in Debian and Ubuntu.
For Debian, see DebianBuildingInstructions
For cross compilation using OpenEmbedded and Jalimo, see CrossCompileFaq
What architectures does IcedTea build on?
x86, x86_64, ppc and ppc64 have been tested thoroughly. It has been built on sparc, sparc64 and arm as well, but not tested completely.
How can I contribute to IcedTea?
Use the distro-pkg-dev@openjdk.java.net mailing list.
Is there an IcedTea bug tracker?
Yes - http://icedtea.classpath.org/bugzilla
Is an RPM, etc, available?
Yes, See the downloads section. IcedTea will be available in the Fedora 8 and 9 distributions. In Fedora 9, you can install it by running yum: yum install java-1.6.0-openjdk
Problems when building IcedTea
My build failed
Sometimes an error occurs when trying to rebuild IcedTea on a clean Fedora 8 installation. This is caused by a bug in the Fedora 8 installer. See FedoraPerlBugAndWhatToDoAboutIt
Functionality and Testing
What does and doesn't work in IcedTea?
Basically everything works out of the box now. At least everything defined in the spec does (since Red Hat managed to pass the TCK when they tested the binary icedtea packages created for the Fedora project).
If you find anything that does work with any other JDK6 implementation, but that fails to work with icedtea we would like to know about it. Please file a bug report (http://icedtea.classpath.org/bugzilla).
There is some additional functionality that isn't described in the standard that only partly works at the moment:
- IcedTea includes a JNLP webstart implementation, by means of NetX.
- IcedTea also includes a web browser plugin, by means of IcedTeaPlugin. This now includes liveconnect support.
- A backend should be written for jmx snmp support.
What is the status of encumbered fonts, graphics and crypto code?
Works out of the box. All this code has been replaced with free versions.
What is the status of sound?
Works out of the box. javax.sound (both sampled and midi). Sound is based on alsa (currently opens alsa hardware devices - which isn't ideal when using several sound using applications at the same time) and Gervill a software midi synthesizer https://gervill.dev.java.net/.
What is the status of javascript?
Works out of the box for javax.script javascript. The backend is provided by Rhino, a javascript in java implementation, when it is installed on the system http://www.mozilla.org/rhino/.
What is the status of jmx snmp support?
SNMP support for jmx is currently not included. This is a very small part of the code, so people with some jmx/snmp background are very welcome to help fix this. Also any pointers to applications depending on this support would be appreciated (please mail to the mailinglist - http://mail.openjdk.java.net/mailman/listinfo/distro-pkg-dev).

