Main Page

From IcedTea

Jump to: navigation, search

IcedTea

The IcedTea project provides a harness to build the source code from http://openjdk.java.net using Free Software build tools and adds a number of key features to the upstream OpenJDK codebase:

  • A Free 64-bit plugin with LiveConnect and Java Web Start support (see IcedTea-Web).
  • Support for additional platforms via a pure interpreted mode in HotSpot (Zero) or the alternative JamVM & CACAO virtual machines. Experimental JIT support for Zero is also available via Shark.
  • Thermostat an instrumentation tool for the Hotspot JVM, with support for monitoring multiple JVM instances on multiple hosts, optionally in a cloud environment.

Read the Original Announcement

As well as IcedTea, the repository now also contains:

  • IcePick, which allows the OpenJDK language tools (javac, javadoc, javah, javap, apt) to be built separately using any 1.5 compliant Java compiler and be used by any GNU Classpath based runtime
  • BrandWeg, which adds elements of OpenJDK to the existing sources of GNU Classpath.
  • Build support for VisualVM, a lightweight profiler and troubleshooting tool.

Also of relevance is the CVMI OpenJDK project, which aims to document the OpenJDK VM interface and foster links with alternative VMs. Discussion of this takes place on cvmi-dev@openjdk.java.net and on the CVMIDiscussion page here on the IcedTea wiki.

Contents

Getting IcedTea

Stable releases (currently the IcedTea 1.13 series of releases based on OpenJDK6, and IcedTea 2.5 series, based on OpenJDK7) and RPMs of IcedTea are available on the Downloads page.

Full details of the latest stable IcedTea6 releases and the IcedTea7 release are available on the release maintainer's blog.

Note that versioning works as follows:

  • The major version corresponds to a specific JDK (1 = OpenJDK6, 2 = OpenJDK7, 3 = OpenJDK8). Early pre-releases of OpenJDK7 also used a major version number of 1, so the nomenclature 'IcedTeaX' also tends to be used to indicate which JDK the release applies to (where X is the JDK version).
  • The minor version corresponds to a specific release branch, and usually brings a significant number of new features and improvements.
  • The macro version corresponds to a new minor update of a particular release branch, and includes security fixes and important bug fixes which have been backported from the main development tree.

Current IcedTea policy is to maintain one minor release per major release at any one time, via release branches and appropriate macro releases, with a short transition period of one security release. Thus, release n is classed as unsupported after the first security release following the release of n + 1. Macro releases consist only of bug fixes and security fixes. They do not contain changes to the build system.

Releases are made by the designated maintainer following the release process. Maintainers are assigned on a meritocratic basis; the role is generally given to anyone who is prepared to do such an unrewarding job. The current maintainers are:

Project Maintainer
IcedTea Andrew John Hughes
IcedTea-Web Jiri Vanek
VisualVM Harness (none)
IcedTea-Sound Andrew John Hughes

The currently supported releases are:

Release OpenJDK Relationship Default HotSpot Alternate HotSpot Expires With
IcedTea 1.13.5 (hg) OpenJDK6 b33 + patches hs23.25-b01 + ARM32 port N/A IcedTea 1.14.0
IcedTea 2.5.3 (hg) OpenJDK7 u71b14 & IcedTea patches hs24.65-b04 + ARM32 port hs25.0-b70 (AArch64 build) IcedTea 2.6.2

The number of patches applied has dramatically decreased in the 2.x series and we hope to see more of the lingering patches go upstream. The remaining ones are changes to allow the use of system libraries and to support esoteric architectures.

Quickstart & Building

Firstly, download the latest release of IcedTea6; see above. We recommend the one with the highest version number. You should then unpack and build the release as follows:

$ ./configure
$ make

New releases are announced on the release maintainer's blog and on our mailing list.

Additional instructions are also available for Debian, Fedora, RHEL 5.x and Gentoo. Please beware that these may be outdated; updates are welcome.

A full list of required packages is available at BuildRequirements. CommonIssues lists some of the problems you may encounter in building IcedTea and their solution. Note that JAVA_HOME should be unset before attempting to build IcedTea.

Any bugs found should be filed in our bug database.

Contributing to IcedTea

All contributions to IcedTea are greatly welcomed. The best way to get involved is to sign up to our mailing list and tell us what you're interested in doing. We don't bite -- honest! -- unless asked. Please be respectful when posting to the mailing list, and treat others as you would wish to be treated. We are generally a friendly bunch and it makes for a better working environment for all if you refrain from making aggressive remarks or personal attacks.

IcedTea is maintained in a number of Mercurial repositories. Details of these can be found on the developer's quick start page.

We maintain a CommitPolicy here on the wiki. Please follow this; it applies to all IcedTea projects. This wiki also provides details of our release process.

FAQs

Upstream Links


Google Summer of Code 2014

IcedTea has been proposed as a Mentoring Organisation in the 2014 Google Summer Of Code. The following page should direct you to the right places:

Personal tools