JNLP failures building latest hg of IcedTea

Andrew John Hughes gnu_andrew at member.fsf.org
Fri Oct 3 01:06:45 PDT 2008

2008/10/3 Matthew Flaschen <matthew.flaschen at gatech.edu>:
> Andrew John Hughes wrote:
>>> So the problem is:
>>> /home/matthew/Code/Java/IcedTea/icedtea7/bootstrap/jdk1.6.0/bin/javac
>>> -J-Xmx512m -g -d extra-lib \
>>>            -source 1.5 \
>>>            -sourcepath extra -cp
>>> /home/matthew/Code/Java/IcedTea/icedtea7/bootstrap/jdk1.6.0/jre/lib/rt.jar
>>> \
>>>            -bootclasspath '' @extra-source-files.txt ; \
>>> And I have a feeling it may be that your IcedTea is too old to use for
>>> a --with-icedtea build
>>> (i.e. it lacks some features of the netx support that the build
>>> expects to find there).
> The problem was with the stamps/extra-class-files.stamp target.  As you
> note, this target requires Launcher.class, among other things.
> Interestingly, it appears that this target does not run on ecj builds.
> However, I don't think my system is updated enough to do an ecj build.

It should be; I managed to use it to build on Debian etch on Wednesday...

> I was able to successfuly do a --with-icedtea build after removing the
> extra-lib/about.jar target, which depends on
> stamps/extra-class-files.stamp.  The built IcedTea7 contains
> Launcher.class (though I'm not sure when in the build this gets
> compiled), so I was able to use this to build unmodified latest hg.

It sounds like you effectively did a hacked-up variant of the ecj build.
The naming is perhaps a misnomer.  The ecj build is the default, and uses
your system jdk to build IcedTea.  A number of patches are included to
accomodate older versions of ecj, GNU Classpath/gcj etc.  It then uses this
build to bootstrap a clean IcedTea build as you just did.
--with-icedtea is a shortcut
option to skip to the second stage if you already have a copy of IcedTea new

If ${JDK_INSTALL} is the location of your installed JDK (be that
IcedTea, gcj-jdk
or whatever) the following options can  be used:

./configure --with-gcj-home=${JDK_INSTALL}
--with-libgcj-jar=${JDK_INSTALL}/jre/lib/rt.jar \

You can fake this setup from a Classpath + VM install.

mkdir -p fake-jdk/bin
ln -s ${VM_INSTALL}/bin/${VM} fake-jdk/bin/java
ln -s ${CLASSPATH_INSTALL}/bin/gjar fake-jdk/bin/jar
ln -s ${CLASSPATH_INSTALL}/bin/gjavah fake-jdk/bin/javah
mkdir -p fake-jdk/jre/lib
ln -s ${CLASSPATH_INSTALL}/share/classpath/glibj.zip fake-jdk/jre/lib/rt.jar
mkdir -p fake-jdk/lib
ln -s ${CLASSPATH_INSTALL}/share/classpath/tools.zip fake-jdk/lib/tools.jar
mkdir -p fake-jdk/jre/lib/${ARCH}/{client,server}
ln -s ${VM_INSTALL}/lib/libjvm.so fake-jdk/jre/lib/${ARCH}/client
ln -s ${VM_INSTALL}/lib/libjvm.so fake-jdk/jre/lib/${ARCH}/server
ln -s ${CLASSPATH_INSTALL}/include fake-jdk

> Matt Flaschen

Andrew :-)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

More information about the distro-pkg-dev mailing list