JDK/JRE ports (source diffs, binaries, and patches)


I have ported Sun's JDK1.0.2, JDK1.1, and JDK1.1.5 to FreeBSD and SunOS 4.1.x (sun4).

The SunOS port is based on the SunOS/sun3 port done by jsanford@iaxs.net. The FreeBSD port is based on the Linux port done by Randy Chapman and the FreeBSD port by Jeffrey Hsu.


1998/03/06 A jre1.1.5 for SunOS is available.
1998/02/10 I no longer independently support FreeBSD. There is now a FreeBSD java-port team. Check their home page for the latest release.
1998/01/08 I have a "working" JRE/JDK1.1.5 for FreeBSD-2.2.x (enough to run HotJava1.1 at least).
1997/08/19 Going on holiday again. Hopefully I won't have another 50 machines to look at when I get back...
1997/08/08 A show stopper bug in the SunOS JDK1.1 version has been found. A patch is provided below.
1997/08/01 Current work: I have just received JDK1.1.3 and Motif2.1 source. Ports of the JDK and JRE to FreeBSD and SunOS/sparc should follow shortly.

What you need to build it yourself:


SunOS/sun4 JDK1.0.2

Here's how I'd build the SunOS version of the JDK1.0.2:

  /bin/ksh
  cd /tmp (or cd /local/java, or ...)
  JAVASRC=`pwd`/javasrc
  gtar xvfz .../javasrc1.0.2.tar.gz javasrc/README \
    javasrc/build/solaris javasrc/src/solaris javasrc/src/share
  cd javasrc
  rm -rf Motif src/win32 build/win32
  mv build/solaris build/sunos
  mv src/solaris src/sunos
  cd build/sunos
  mkdir java/java/CClassHeaders java/net/CClassHeaders \
    sun/debug/CClassHeaders sun/mmedia/CClassHeaders \
    sun/awt/CClassHeaders sun/tawt/CClassHeaders sun/jpeg/CClassHeaders
  cd ../..
  patch < .../jdk-sunos.diff
  cd build; mkdir classes; cd classes
  unzip /usr/local/java/lib/classes.zip
  touch `find . -print`
  cd ../sunos
  ALT_BOOTDIR=${JAVASRC}/build ALT_JAVAHOME=${JAVASRC}/build gmake
.../javasrc1.0.2.tar.gz is the (renamed) file you downloaded from javasoft subsequent to the acceptance of your signed license agreement. .../jdk-sunos.diff is the diff file from above.

FreeBSD JDK1.0.2

Here's how I'd build the FreeBSD version of the JDK1.0.2:

  /bin/ksh
  cd /tmp (or cd /local/java, or ...)
  JAVASRC=`pwd`/javasrc
  tar xvfz .../javasrc1.0.2.tar.gz javasrc/README \
    javasrc/build/solaris javasrc/src/solaris javasrc/src/share
  cd javasrc
  rm -rf Motif build/win32 src/win32
  mv src/solaris src/freebsd
  mv build/solaris build/freebsd
  patch < .../jdk-freebsd.diff
  cd build; mkdir classes; cd classes
  unzip /usr/local/java/lib/classes.zip
  touch `find . -print`
  cd ../freebsd
  mkdir java/java/CClassHeaders java/net/CClassHeaders \
    sun/debug/CClassHeaders sun/mmedia/CClassHeaders \
    sun/awt/CClassHeaders sun/tawt/CClassHeaders sun/jpeg/CClassHeaders
  ALT_MOTIF_DIR=/usr/X11R6 ALT_BOOTDIR=${JAVASRC}/build \
    ALT_JAVAHOME=${JAVASRC}/build gmake

.../javasrc1.0.2.tar.gz is the (renamed) file you downloaded from javasoft subsequent to the acceptance of your signed license agreement. .../jdk-freebsd.diff is the diff file from above.

It's assumed that you've installed the motif includes and libraries in /usr/X11R6.


SunOS/sun4 JDK1.1

Here's how I'd build the SunOS version of the JDK1.1 (you'll need roughly 56M free diskspace):

  /bin/ksh
  cd /tmp (or cd /local/java, or ...)
  JAVASRC=`pwd`/javasrc
  gtar xvfz .../javasrc1.1.tar.gz javasrc/README \
    javasrc/build/solaris javasrc/build/minclude javasrc/src/solaris \
    javasrc/src/share
  cd javasrc
  rm -rf Motif ODBC2.11 src/win32 build/win32
  mv build/solaris build/sunos
  mv src/solaris src/sunos
  patch < .../jdk1.1-sunos.diff
  cd build; mkdir classes; cd classes
  unzip /usr/local/java/jdk1.1/lib/classes.zip
  touch `find . -print`
  cd ..
  cd sunos
  ALT_BOOTDIR=${JAVASRC}/build ALT_JAVAHOME=${JAVASRC}/build \
	STRIP=true CC_VERSION=gcc gmake

FreeBSD JDK1.1

Here's how I'd build the FreeBSD version of the JDK1.1 (you'll need roughly 83M free diskspace):

  /bin/ksh
  cd /tmp (or cd /local/java, or ...)
  JAVASRC=`pwd`/javasrc
  tar xvfz .../javasrc1.1.tar.gz javasrc/README \
    javasrc/build/solaris javasrc/build/minclude javasrc/src/solaris \
    javasrc/src/share
  cd javasrc
  rm -rf Motif ODBC2.11 src/win32 build/win32
  mv build/solaris build/freebsd
  mv src/solaris src/freebsd
  patch < .../jdk1.1-freebsd.diff
  cd build; mkdir classes; cd classes
  unzip /usr/local/java/jdk1.1/lib/classes.zip
  touch `find . -print`
  cd ..
  cd freebsd
  ALT_MOTIF_DIR=/usr/X11R6 ALT_BOOTDIR=${JAVASRC}/build \
    ALT_JAVAHOME=${JAVASRC}/build CC_VERSION=gcc gmake
.../javasrc1.1.tar.gz is the (renamed) file you downloaded from javasoft subsequent to the acceptance of your signed license agreement. .../jdk1.1-freebsd.diff is the diff file from above.

It's assumed that you've installed the motif includes and libraries in /usr/X11R6.


Binary Releases

JRE

The JREs are covered by the JRE license agreement. In particular you may redistribute the binary (see the JRE LICENSE and README files for details).

JDK

By downloading and installing any of these binaries, you agree to be bound by the Sun license agreement. In particular, you may not redistribute these binaries (including offering them for FTP or web access) or include them in a product.

Other binary releases are not currently available. Send me mail if you'd like one.

Patches

JDK1.1 FreeBSD

If you're using the JDK1.1 with FreeBSD 2.2.2R you can use the jdk1.1-FreeBSD-update.sh shell script to remove dependencies on the pdksh and compat21 packages.

If you installed the JDK1.1 in /usr/local/jdk1.1 and downloaded the script to /tmp/jdk1.1-FreeBSD-update.sh the following should do the trick:

	cd /usr/local
	sh /tmp/jdk1.1-FreeBSD-update.sh

JDK1.1 SunOS

If you're running a version of SunOS earlier than 4.1.3_U1 you'll need to replace java and java_g with the versions in this 404,940 byte gzipped tar archive (/usr/5bin/sum of 44062 791).

If you installed the JDK1.1 in /usr/local/jdk1.1 and downloaded the archive to /tmp/jdk1.1-sunos-patch.tar.gz the following should do the trick:

	gtar xvfzpC /tmp/jdk1.1-sunos-patch.tar.gz /usr/local

X11R5 and .java_wrapper update

If you downloaded my versions of the LessTif and X11R5 libraries, you'll also need the nls and XKeysymDB files in jdk1.1-sunos-patch2.tar.gz. Also included is a modified version of jdk1.1/bin/.java_wrapper that removes the dependency on /bin/ksh.

Here's a typical install:
	mv /usr/local/jdk1.1/bin/.java_wrapper \
		/usr/local/jdk1.1/bin/.java_wrapper.orig
	gtar xvfzpC jdk1.1-sunos-patch2.tar.gz /usr/local

Fix for SIGBUS crash in java.net.InetAddress

This 922,215 byte patch (/usr/5bin/sum of 21753 1802) fixes this problem, removes the /bin/ksh dependency, will run on versions of SunOS prior to 4.1.3_U1, and reduces the diskspace requirements for jdk1.1/lib/sun4/green_threads. A typical install would go like this:
	gtar xvfzpC jdk1.1-sunos.patch3.tar.gz /usr/local

kwhite@site.uottawa.ca
1998/03/06