A GPL'd JDK from scratch is ready for testing

DJ Lucas dj at linuxfromscratch.org
Mon Aug 2 23:46:59 PDT 2010

I now have IcedTea6-1.8.1 building without gcj.

Requires Alsa-Libs, Firefox/XulRunner, GTK+, libxp (from Xorg, not in
BLFS currently), unzip, and zip.

Please keep in mind that this is a preliminary set of instructions and
has not been tested on a minimal system, but I would really appreciate
your testing and input.  The binary has not been through JCK testing (I
will do this before putting it into the book).  I will also be holding
the commit for the 1.9.0 release.  1.9.1 or 1.10 will be caught up with
the proprietary Oracle (formerly Sun) JDK.  This build is effectively
1.6.0_u18 with lots of security fixes.  The java.com check for latest
JRE reports as 1.6.0_u18.  Works well with what I've thrown at it so
far.  Full build takes a little over 30 minutes on my box (~90s SBU).

Download all of these files:


OpenJDK (can be omitted as the Makefile will download for you if you
have wget installed):

IcedTea replacements (these can be omitted as the Makefile will download
for you if you have wget installed):

Other needed system jars:

Binary IcedTea6 and patch to use it for bootstrapping instead of gcj:

Instructions (not much different than the old I guess):

Install binary IcedTea6-1.8.1 (after extracting tarball):
sudo mv icedtea6-1.8.1-bin /opt &&
sudo chown -R root:root /opt/icedtea6-bin

NOTE:  Stop here if you do not want to rebuild...just go on to the
       configuration section.

Install system jars:
mkdir tempjar &&
cd tempjar &&
sudo install -v -d -m755 /usr/share/java &&
unzip ../../rhino1_7R2.zip &&
sudo install -v -m644 rhino_7R2/*.jar /usr/share/java &&
unzip ../../xalan-j_2_7_1-bin.zip &&
sudo install -v -m644 xalan-j_2_7_1/*.jar /usr/share/java &&
sudo install -v -m644 ../../ecj-3.6.jar /usr/share/java &&
sudo ln -s xalan.jar /usr/share/java/xalan2.jar &&
sudo ln -s ecj-3.6.jar /usr/share/java/ecj.jar &&
cd .. &&
rm -r tempjar

Building IcedTea6 (after extracting source tarball:
export PATH=$PATH:/opt/icedtea6-1.8.1-bin/bin
mkdir drops &&
cp ../jdk6-*.zip drops/ &&
cp ../openjdk-6-src-b18-16_feb_2010.tar.gz . &&
patch -Np1 -i ../icedtea6-1.8.1-with_jdk_home-1.patch &&
autoreconf &&
./configure --with-jdk-home=/opt/icetea6-1.8.1-bin &&
make &&
sudo cp -R openjdk/build/linux/<arch>/j2sdk-image /opt/icedtea6-1.8.1 &&
sudo chown -R root:root /opt/icedtea6-1.8.1

Grab jdk.sh from JDK page in current book, adapt path, resource profile.
Browser plugin is <install_directory>/jre/lib/<arch>/IcedTeaPlugin.so
(like original JDK, it must be symlink'd from your browser plugins

Happy testing.

-- DJ Lucas

This message has been scanned for viruses and
dangerous content, and is believed to be clean.

More information about the blfs-dev mailing list