Java-Linux MINI-HOWTO
This document gives a brief rundown of what setup and external
libraries are recommended to use the JDK 1.0.2 for Linux.
______________________________________________________________________
Table of Contents:
1. How to make the JDK 1.0.2 work on your machine
1.1. Which libraries do I need?
1.2. Where can I find more information on elf?
1.3. What else do I need to do?
1.4. Where do I get the JDK for Linux?
1.5. Are there any bugs?
2. How to make Netscape 3.0 and java work
2.1. Getting the environment right
______________________________________________________________________
1. How to make the JDK 1.0.2 work on your machine
1.1. Which libraries do I need?
In order to use the JDK under linux, you will need current versions of
the Standard C Library, the Linux Dynamic Loader Library, and the X
windows libraries.
The Standard C Library and Dynamic Loader Library are both available
from , while the latest X windows
release is located at .
You will need the following versions of each package:
o libc version 5.2.18 or greater.
o ld.so version 1.7.14 or greater.
o XFree86 version 3.1.2 or greater (X11 / X windows).
If you do not have XFree86 installed, and wish to refrain from doing
so, selecting the shared-motif2 version of the JDK archive will allow
you to operate without the X11 shared libraries.
In addition it is recommended that you run a 2.0.x or greater linux
kernel.
Be very careful when upgrading the Standard C Library and Dynamic
Loader Library, as a mistake may render your system unuseable. Once
you have installed the new libraries, ensure that there are no stale
symbolic links to older libraries.
1.2. Where can I find more information on elf?
The JDK 1.0.2 port for linux will only function on an elf based linux
system and requires a number of external libraries.
You can find out more information through Daniel Barlow's official elf
page, located at . Both Redhat
Software and Slackware provide elf based
distributions of linux.
1.3. What else do I need to do?
The CLASSPATH environment variable is set automatically by the java
script. If you are having problems using the Java Developer's Kit,
make sure that the CLASSPATH variable is not set before you try
running java, javac, or the appletviewr.
Another common problem concerns the device /dev/zero. Certain unnamed
distributions set the permissions on this device incorrectly. Before
running the Java Developer's Kit, make sure to issue the following
command as the superuser:
______________________________________________________________________
chmod 666 /dev/zero
______________________________________________________________________
Finally, be certain that you have at least 20 megabytes of free swap
space before running the Java Developer's Kit.
1.4. Where do I get the JDK for Linux?
The Java Developer's Kit for Linux can be found through numerous
mirror sites. You can find the current list at
. At these sites,
you will find both standard tar and gzip'd archives, and RPM format
packages.
Please note: The distinction between shared and static in the archive
names refers to the Motif 2.0 library. If you have not purchased
Motif, a commercial product, then chances are you need to retrieve the
static archive. Also, unless you select the RPM format of the
archives, you will need to retrieve the common archive that pertains
to the revision of the JDK you select as well.
If you do not have XFree86 installed, and wish to refrain from doing
so, selecting the shared-motif2 version of the JDK archive will allow
you to operate without the X11 shared libraries.
1.5. Are there any bugs?
Yes, the 1.0.2-p1 revision of the JDK for Linux has bugs. If you wish
to report one, please send email to chapman@wilbursoft.com. The
current list of known problems will be documented at
.
2. How to make Netscape 3.0 and java work
2.1. Getting the environment right
The fundamental problem with Netscape 3.0, java, and linux machines is
the use of a Standard C Library revision later than libc 5.0.9. With
the following wrapper script to netscape, java will for the most part
cease to crash the browser.
The script also sets a very simple CLASSPATH. Be careful, certain
CLASSPATH entries can confuse netscape and cause it to crash.
______________________________________________________________________
#!/bin/sh
export CLASSPATH="/usr/local/netscape/java/classes/java_30:."
export LD_LIBRARY_PATH="/lib/509"
netscape $*
______________________________________________________________________
To make this all work, follow these steps:
o Install netscape
o Copy the java_30 file included with the netscape archive to
/usr/local/netscape/java/classes/
o Create a directory called /lib/509/
o Copy libc.so.5.0.9 to /lib/509/
o Create a symlink from /lib/509/libc.so.5.0.9 to /lib/509/libc.so.5
o Edit the shell script to match your setup