# Main Page

### From IcedTea

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 clear release process, including stable release branches and other processes you'd expect from a FOSS project.
- Inclusion of bug fixes ahead of inclusion in upstream OpenJDK
- JIT support for additional platforms (ARM32 on IcedTea 1.x, ARM32, ppc64, ppc64le & AArch64 on IcedTea 2.x and AArch64 on IcedTea 3.x)
- Support for alternative JamVM & CACAO virtual machines

Read the Original Announcement.

Note that plugin and Web Start support are now provided by a separate project, IcedTea-Web.

As well as IcedTea, we also now host repositories for:

- 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.
- Thermostat an instrumentation tool for the Hotspot JVM, with support for monitoring multiple JVM instances on multiple hosts, optionally in a cloud environment.

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.

## 1 Getting IcedTea

Stable releases (currently the IcedTea 2.6 series based on OpenJDK 7 and IcedTea 3.0 series based on OpenJDK 8) and RPMs of IcedTea are available on the Downloads page. Full details of the latest stable IcedTea7 and IcedTea8 releases 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(s) | Expires With
--- | --- | --- | --- | ---
IcedTea 2.6.22 (hg) | OpenJDK 7 u261b02 & IcedTea patches | hs24.261-b02 + ARM32 & AArch64 ports | N/A | IcedTea 2.7.2
IcedTea 3.16.0 (hg) | OpenJDK 8 u252b09 & IcedTea patches | hs25.252-b09 + AArch64 port | hs25.252-b09 + AArch64 port + Shenandoah (shenandoah) hs25.252-b09 + AArch32 port (aarch32) | IcedTea 3.17.0

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. With IcedTea 2.x onwards, unconditional patches (the vast majority) are applied to a fork of the upstream OpenJDK forests for the appropriate major version. As a result, the raw upstream OpenJDK version on which IcedTea is based can be obtained via Mercurial by checking out the appropriate tag (e.g. jdk7u91-b02 for the u91 release).

## 2 Quickstart & Building

Firstly, download the latest release of IcedTea; 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.

## 3 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.

## 4 FAQs

- A list of FrequentlyAskedQuestions is available.
- JCKDistilled describes how to run the JCK against IcedTea.
- ZeroSharkFaq answers some frequently asked questions about Zero and Shark.
- CrossCompileFaq describes how to use Jalimo to cross compile Icedtea.
- BuildingOpenJDK describes how to build OpenJDK without IcedTea.
- UpstreamingFaq describes how to push IcedTea patches upstream
- IcedTea6 Patches lists the upstream status of various IcedTea6 patches.
- IcedTea 7 forest patches lists the upstream status of various IcedTea7 patches.
- Current jtreg issues
- IcedTea patches for OpenJDK 8 lists the upstream status of various IcedTea patches for OpenJDK 8.

## 5 Upstream Links

- OpenJDK
- GNU Classpath
- IcedTea Wikipedia Entry
- JDK Glossary

## 6 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:

- http://icedtea.classpath.org/wiki/GSoC
- http://icedtea.classpath.org/wiki/GSoC2014

Retrieved from "https://icedtea.classpath.org/wiki/Main_Page"

##### Views

- Page
- Discussion
- View source
- History

##### Personal tools

- Log in / create account

##### resources

- discussion list
- other lists
- bug database
- src downloads
- builds and tests
- mercurial

##### community

- GNU Classpath
- OpenJDK
- Planet Classpath

##### Search

##### Toolbox

- What links here
- Related changes
- Upload file
- Special pages
- Printable version
- Permanent link