4. Java On Linux Questions

Contents of this section

Here you can learn the nuts and bolts of getting Java running on your Linux.

4.1 Are Java and HotJava included in any of the Linux distributions?

No, not yet, but expect it any week now.

4.2 How can I get the latest Java distribution for Linux?

Look in ftp://java.blackdown.org/pub/Java . The latest Java-for-Linux can be downloaded from there. You should browse the ftp://java.blackdown.org/pub/Java/README first.

The files you'll need are linux.jdk.common.tar.gz and one of either linux.jdk.x86-static-motif-bin.tar.gz ot linux.jdk.x86-shared-motif-bin.tar.gz, depending on whether you have Motif shared libraries on your system.

This port (from the Sun sources by Randy Chapman) is the one that's referred to (as the JDK) elsewhere in this HOWTO.

4.3 What environment will I need to run Java?

For starters, you need an ELF-based Linux. There is no a.out support, and at the speed the Linux world is switching over to ELF there is not likely to be any in the future.

You need a 1.2.13 or later kernel. Kernels 1.2.12 and older seem to have a bug in getcwd(3) that tanks bin/javac because it doesn't check the getcwd(3) return code.

You'll need these pieces:

The C and X support libraries may be in your Linux already.

If you don't already have it, get libc.5.2.16.bin.tar.gz from ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ . Uncompress and untar and copy the files in the lib subdirectory of the top level of the hierarchy to /lib.

If you don't have a current version of ld.so (or libdl.so.1.7.*) you will need to update. ld.so.1.7.9 and .11 will work; .10 and other early versions will not. Get ld-so.1.7.11.tar.gz from ftp://ftp.ods.com/linux/ ; Uncompress and untar it and run instldso.sh which is in the top level of the resulting hierarchy.

You can get an Xpm library that will work from ftp://sunsite.unc.edu/pub/Linux/libs/X/libXpm.3.4f-ELF.tar.gz .

4.4 Do I need Netscape? Can I use Netscape?

Yes, you need Netscape. HotJava isn't yet available for the beta release. Randy Chapman says:

Sun massively changed the awt interface when they shipped the beta JDK and have not yet converted HotJava to it. They have promised they will, and it should work great with linux-jdk when they release it.
It's unknown when this will happen.

As of December 1995 only Netscape 2.0b3 is Java-aware. It is available at ftp1-7.netscape.com (i.e. at ftp1.netscape.com, ftp2.netscape.com,... etc.) The file to get is /2.0b3/unix/netscape-v20b3-export.i486-unknown-linux.tar.Z.

Note that Netscape 2.0b3 will run on an a.out system, so it is, in theory, possible to write your java app, give it to someone else to compile (like maybe the BlackStar Public Compiler ), and see the output on your system. If you want more than that, get an ELF system.

Adam Smith writes: A tiny amount of fudging (moving one file) is required to make Netscape run from the distribution: it will crash when loading a page with Java applet(s) if Netsacape's condensed single-file version of the *.class files is not first in the CLASSPATH environement variable, and I don't know the effect on Java/HotJava of having that in the path (since the archived classfile format is irregular, I suspect it might work). I have run the Netscape successfully on my Slackware 3.0 system.

Steve Greene writes: There's been some discussion on the java-linux list on how to configure Java and Netscape to make it pick up your local applets for viewing. The consensus seems to be that you need to add the path to the applet added to the CLASSPATH environment variable, or run a local Webserver and access the applets through the local Webserver as if it were over the 'net; you may also need to be connected to be able to find java.sun.com (I suspect but do not know that this is a holdover from the alpha HotJava browser, and is simply to ensure the browser could find the "stock" Sun class libraries on there site. I haven't tried any of this yet, so your milage may vary.

4.5 What mailing lists or newsgroups exist for supporting Java on Linux?


Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter