Here's the first in hopefully a monthly installment of postings. For
those of you with access to the Web, I encourage you to read the
hypertext version at:

    http://www.place.org/~stevemw/java/FAQ/FAQ-java-linux.html

This will probably be moved very soon, but I wanted to get a copy
out to people as quickly as possible.

I welcome suggestions about improving the FAQ, and please don't
hesitate to correct my mistakes. Also, I've quoted some of you here --
I hope for everyone's benefit.

Thanks and enjoy!

Steve

PGP Key 1024/D54C69B9 Stephen Wynne <[EMAIL PROTECTED]>
Fingerprint: 2C 54 C6 F3 9C FF 11 D3  90 56 DD 85 37 E3 1F AA

  [EMAIL PROTECTED] FAQ
  by Stephen Wynne
  May 27th, 1998

  This document attempts to answer the most commonly-asked questions on
  the [EMAIL PROTECTED] mailing list. More information is
  available at http://www.blackdown.org/java-linux.html
  ______________________________________________________________________

  Table of Contents:

  1.      Mailing List User Guide

  1.1.    Suggestions for List Participants

  1.2.    How can I get subscribed? Unsubscribed?

  1.3.    Where Can I Find Archived Postings from this List?

  2.      Could You Give Me An Overview of Running Java on Linux?

  2.1.    What is the Currently-supported Version of the Blackdown JDK?

  2.2.    There's a pure Java Package I Want to Run. Can I?

  2.3.    When is the JDK 1.2 Going to be Released for Linux?

  2.4.    Can I Take a Look at the JDK 1.2 Now Anyway?

  2.5.    Is Javasoft Going to Support Java on Linux?

  2.6.    What Resources are Available at Blackdown?

  2.7.    Other Sources of Information about Java on Linux

  3.      Blackdown JDK Installation Questions

  3.1.    Where to obtain JDK 1.02 and 1.1?

  3.2.    How Do I Install the JDK?

  4.      Troubleshooting the Blackdown JDK on Linux

  4.1.    Typical Questions to Ask Yourself When Debugging Problems

  4.2.    Kaffe and the Blackdown JDK 1.1 are Installed. Neither Work!

  4.3.    I Have the Blackdown JDK 1.1.x and RMI is Giving Me Fits!

  4.4.    Where Can I Report Bugs?

  4.5.    Are There Any Debugging Techniques I Can Try Myself?

  4.6.    That Didn't Help. What Else Can I Do?

  5.      Questions Specific to Running The Blackdown JDK on Linux

  5.1.    I'm on <your favorite Linux distribution here> What Do I Need?

  5.1.1.  The glibc versus libc5 Problem

  5.1.2.  RedHat

  5.1.3.  Debian

  5.1.4.  Slackware

  5.1.5.  Other Linux Distributions

  5.2.    Is There Anything Different About Native Interfaces on Linux?

  5.3.    What's Wrong with Thread Priorities and the Console?

  5.4.    Is there a JIT (Just in Time Compiler) for the Blackdown JDK?

  5.5.    Does the TYA JIT Work with the Blackdown JDK?

  5.6.    Does Javasoft's Activator JVM work on Linux with Netscape?

  5.7.    Can I Display Kanji with the Blackdown JDK?

  5.8.    Questions Specific to the Blackdown JDK on Linux

  6.      General Questions about Java

  6.1.    Where Can I Learn More about Java?

  7.      General Questions about Linux

  7.1.    Where Can I Find Linux FAQs, Mailing Lists, and Documentation?

  7.2.    What is glibc, and Why Does it Matter?

  8.      Compiling the JDK from Source

  8.1.    Can I Build Java Myself?

  8.2.    Could You Give Me a Pointer to Sun's Licensing Agreement?

  8.3.    How do I Build the JDK Now that I Have the Source?

  8.4.    What about Motif? Don't I Need That?

  9.      Information on the Java-Linux FAQ Itself

  9.1.    Who is the FAQ Maintainer?

  9.2.    Where Can I Get a Copy of the FAQ?

  9.3.    Caveat Emptor
  ______________________________________________________________________

  $Id: FAQ-java-linux.sgml,v 1.38 1998/05/27 08:54:54 stevemw Exp
  stevemw $

  1.  Mailing List User Guide

  1.1.  Suggestions for List Participants

  o  Please read README.linux (also found in the Blackdown JDK
     distribution) FAQ before posting.

  o  Choose a descriptive Subject: line for your mail.

  o  When reporting problems and asking for help tell us as much about
     your system as possible.

     1. Linux distribution and release number (example: Debian 2.0).

     2. Relevant patches, packages, and updates installed.

     3. Samples of the actual Java or Java bytecode that's causing you
        trouble.

     4. Consider privately mailing the output of ``the Troubleshooting
        Script'' to [EMAIL PROTECTED]

  o  Posts with lines wrapped at 75-80 characters are easier to read!

  o  Spamming the list or using members' E-mail addresses for commercial
     purposes is forbidden.

  o  Some list users may ignore messages created in HTML or that include
     proprietary attachments.

  o  Do not followup improper postings to the entire list; copy the
     sender and the list administrator only.

  o  Please avoid inflammatory language.

  1.2.  How can I get subscribed? Unsubscribed?

  Please don't send E-mail directly to the list requesting these status
  changes! Visit http://www.blackdown.org/java-linux.html and follow the
  links to instructions or use the links provided in the next paragraph.

  The following URL would work in Netscape Mail to subscribe you: java-
  [EMAIL PROTECTED]?subject=subscribe

  And this should unsubscribe: java-linux-
  [EMAIL PROTECTED]?subject=unsubscribe

  1.3.  Where Can I Find Archived Postings from this List?

  Karl Asha has arranged for the list to be archived here:
  http://www.mail-archive.com/java-linux@java.blackdown.org/.

  2.  Could You Give Me An Overview of Running Java on Linux?

  Running Java on Linux is about what you'd expect. You should be able
  to run most "pure Java" applications on the Linux JDK or JRE. It does
  take a little longer to get the latest JDK on a target that Javasoft
  doesn't officially support. Also, the JVM currently only uses green
  threads.

  2.1.

  What is the Currently-supported Version of the Blackdown JDK?

  At the time of this writing, the supported Blackdown JDK version is
  1.1.5v7. JDK 1.1.6v1 is now in preview release. Look ``elsewhere in
  the FAQ'' for places to download. To determine your version, use this
  command:

  ______________________________________________________________________
  $ java -version
  ______________________________________________________________________

  2.2.  There's a pure Java Package I Want to Run. Can I?

  Most likely. For example, I've tested Javasoft's JFC SwingSet (see
  http://java.sun.com/products/jfc/) with a static Motif build and a
  Lesstif build with good results.
  This typically involves downloading the package and untarring or
  unzipping it. Sometimes the vendor won't provide an installation
  procedure that works well on Linux, and so you have to adjust a script
  or do it by hand.

  2.3.  When is the JDK 1.2 Going to be Released for Linux?

  According to Steve Byrne on Monday, May 26th 1998:

       JavaSoft is trying very hard to get a license set up with an
       external person to coordinate the 1.2 Linux porting effort.
       The plan is not to have to wait until 1.2 ships, but to get
       things underway much sooner (1.2 is huge, and involves lots
       more machine specific components, and will take a while to
       port).

  2.4.  Can I Take a Look at the JDK 1.2 Now Anyway?

  Yes, just run unzip on the Solaris shell script archive; it'll unpack
  it for you. You can then unpack the src.zip archive. Also, you can
  already get the documentation from Javasoft from
  http://www.javasoft.com/docs/index.html.

  2.5.  Is Javasoft Going to Support Java on Linux?

  We don't know yet. At the time of this writing, bug 4097810 was at the
  top of the JDC Bug Parade. You can read about it at:
  http://developer.java.sun.com/developer/bugParade/bugs/4097810.html.

  There are a number of complex issues involved with this request,
  including the wide variety of Linux distributions, target
  architectures (beyond Intel where Javasoft already supports Solaris
  x86), the huge number of announced APIs with required native support,
  and so forth.

  2.6.  What Resources are Available at Blackdown?

  Karl Asha's Blackdown server has a number of resources. Visit
  http://www.blackdown.org/java-linux.html.  Karl has provided the
  following sorts of information there:

  o  Instructions for subscribing to this mailing list.

  o  Recent news about running Java on Linux.

  o  What third-party tools run on the Linux JDK such as running running
     Linux Java Activator with Netscape.

  o  Links to other ports.

  o  The latest Linux shared library compatibility issues.

  2.7.  Other Sources of Information about Java on Linux

  o  Luiz Otvio Lautenschlger has a general "Java on Linux FAQ" at
     http://nr.conexware.com/~zorzella/wine/FAQ2.htm

  o  Paul Cho has an up-to-date Linux/Java page worth reading often:
     http://www.w3com.com/paulcho/javalinux/

  o  Professor Sergey Nitikin's Linux/Java News:
     http://www.public.asu.edu/~nikitin/JavaOnline/

  3.  Blackdown JDK Installation Questions

  3.1.  Where to obtain JDK 1.02 and 1.1?

  Please visit http://www.blackdown.org/java-linux/mirrors.html and
  select the site nearest you. Both Randy Chapman's JDK 1.02 and Steve
  Byrne's JDK 1.1.x are found on participating mirror sites. Check
  ``elsewhere in this FAQ''  for the currently supported version the
  Blackdown JDK.

  3.2.  How Do I Install the JDK?

  1. Download the tar(1) archive for your platform as directed by the
     mirror list mentioned ``above''.

  2. Move to an appropriate directory and for example, unpack the tar(1)
     archive as follows:

     ___________________________________________________________________
     $ cd /usr/local
     $ tar xvf /tmp/jdk1.1.6.tar.gz
     ___________________________________________________________________

  3. Make sure your DISPLAY environment variable is set, put the
     resulting directory into your execution path, and try something:

     ___________________________________________________________________
     $ export DISPLAY=:0
     $ export PATH=/usr/local/jdk1.1.6/bin:$PATH
     $ appletviewer 
/usr/local/jdk1.1.6/demo/awt-1.1/lightweight/OpenlookButtons/example.html
     ___________________________________________________________________

  Note that the above examples assumed you were using the Bash shell,
  such as /bin/bash. Also note that if you already have a CLASSPATH set,
  you'll probably want to append This ensures that you have the current
  working-directory in your class search path, and makes things much
  easier for you as you test your code.

  Of course you may want to add these environment commands to your
  shell's startup script, such as $HOME/.bashrc.

  Some people may wish to set JAVA_HOME themselves. That way, you can
  change all commands following setting that to use it instead, such as

  ______________________________________________________________________
  $ export JAVA_HOME=/usr/local/jdk1.1.6
  $ export PATH=$JAVA_HOME/bin:$PATH
  $ export CLASSPATH=.:$JAVA_HOME/lib/classes.zip
  ______________________________________________________________________

  4.  Troubleshooting the Blackdown JDK on Linux

  4.1.  Typical Questions to Ask Yourself When Debugging Problems

  o  Are you running the current version?  You can find that information
     ``elsewhere in this FAQ''.

  o  Have you checked to see if your libc, glibc, and X11 libraries
     could be the problem? See ``Questions Specific to Running The
     Blackdown JDK on Linux''.  If you learn something we can add to
     there, please post them!

  o  Environment variables.  Here are the top candidates for problems:

  o  CLASSPATH
     Should either be unset or start with .:$JAVA_HOME/lib/classes.zip.

  o  PATH
     Should include $JAVA_HOME/bin -- ahead of /usr/bin where Kaffe
     often lives, please!

  o  JAVA_HOME
     This should be set to your top-level JDK directory.

  o  JDK_HOME
     Although the JDK doesn't need this, it ought to be set to your top-
     level JDK directory (if at all). HotJava uses this environment
     variable, as do other packages other than the JDK.

  o  Are all the required X11 fonts installed?
     This is a subtle area of concern. People have experienced crashes
     from not having 75dpi fonts installed.

  o  Are your font and localization properties correct?
     Another area that is difficult to troubleshoot. I hope to add more
     information here soon!

  4.2.  Kaffe and the Blackdown JDK 1.1 are Installed. Neither Work!

  After running

  javac HelloWorld.java

  and seeing this message:

  Failed to open object 'HelloWorld/java'

  Other people have reported error messages such as these:

  $ javac
  Failed to locate native library in path:
          /usr/lib
  Aborting.

  Daniele Lugli <[EMAIL PROTECTED]> reports:

  that is the kaffe javac. Now that I moved $JAVA_HOME/bin
  ahead in my $PATH, both javac and java work, and I see a
  wonderful "Hello, World!".

  In other words, always check for conflicting ``environment variable
  problems''.

  A very common cause for problems with Kaffe is having /usr/bin in your
  path ahead of $JAVA_HOME/bin.

  4.3.  I Have the Blackdown JDK 1.1.x and RMI is Giving Me Fits!

  Rich McClellan <[EMAIL PROTECTED]> reports that running the
  Blackdown JDK 1.1.5v7libc works better than the glibc version, and
  forwards this advice from Alexander V. Konstantinou
  <[EMAIL PROTECTED]>:

  The problem is related to naming in /etc/hosts. This is a
  known Java problem in picking up the right name for the
  interface. Change the localhost name to your real machine
  name. This may cause problems with talk though ..."

  4.4.  Where Can I Report Bugs?

  In general, please report bugs to the [EMAIL PROTECTED]
  list. Feel free to join the JDC (see http://developer.javasoft.com/)
  and check to see if your bug is in the Bug Parade for the version of
  the JDK with which you're experiencing the problem.  Providing this
  information when posting your bug can save us some time.

  4.5.  Are There Any Debugging Techniques I Can Try Myself?

  Try running the JDK java, appletviewer, and javac wrapper scripts like
  this:

  ______________________________________________________________________
  $ sh -x $JAVA_HOME/bin/java -verbose -verbosegc -cs -verify ...
  ______________________________________________________________________

  or this:

  ______________________________________________________________________
  $ strace -f -s 256 $JAVA_HOME/bin/java ...
  ______________________________________________________________________

  That last command will be very noisy, but you may be surprised what
  you learn from reading it.

  4.6.

  That Didn't Help. What Else Can I Do?

  We've created a troubleshooting information collection script that you
  can download from http://www.place.org/~stevemw/java/FAQ/java-linux-
  info.sh and follow the instructions at the top of it. Mail its output
  to [EMAIL PROTECTED]

  5.

  Questions Specific to Running The Blackdown JDK on Linux

  5.1.  I'm on <your favorite Linux distribution here> What Do I Need?

  5.1.1.  The glibc versus libc5 Problem

  The latest versions of the Blackdown JDK have their own built-in
  loader and libc, which will hopefully make them more robust. Older
  versions of the JDK 1.1.5 (especially) are much more sensitive.  Karl
  Asha has a succinct page about this at http://www.blackdown.org/java-
  linux/docs/libraries.html.  In short, you need glibc-2.0.7 and glibc-
  devel-2.0.7 or higher on a glibc-based system such as RedHat 5.0 or
  Debian 2.0.  There are RPMs for these on RedHat Intel systems at
  ftp://ftp.redhat.com/pub/redhat/current/updates/i386.

  For a libc5 system, you need libc.so.5.44 or greater, along with a
  recent ld.so. You can find these at
  ftp://tsx-11.mit.edu/pub/linux/packages/GCC.

  For an in-depth discussion of this issue, see ``What is glibc, and Why
  Does it Matter?''.

  5.1.2.  RedHat

  Download the glibc and ld updates described under
  http://www.redhat.com/support/docs/errata.html.

  You may also experience problems with your X11 libraries and undefined
  symbols relating to internationalization. If you do, visit
  http://www.xfree86.org, download X331bin.tgz and unpack it over your
  existing libraries. You should know what you're doing if you try this;
  have original media ready and be able to recover.

  According to Sorin Lingureanu <[EMAIL PROTECTED]>,

  For everybody how wants to install jdk-1.1.5v7 rpm's for
  RedHat distributions, I think that da good choice is to
  install jdk with rpm. This packages can be found at:

  for RedHat 4.2:
  ftp://ftp.redhat.com/pub/contrib/i386/jdk-1.1.5-8.i386.rpm

  for RedHat 5.0:
  ftp://ftp.redhat.com/pub/contrib/hurricane/i386/jdk-1.1.5-7.i386.rpm

  Check there for more recent versions. Also, make sure that you don't
  have conflicting JDK_HOME, JAVA_HOME, and CLASSPATH environment vari-
  ables set from scripts source from /etc/profile.d/ at login. This can
  especially be a problem when trying multiple versions of the JDK in
  succession.

  5.1.3.  Debian

  Paul Reavis <[EMAIL PROTECTED]> has details at
  http://www.mindspring.com/~tumu/java/Debian-JDK.html.

  5.1.4.  Slackware

  Again, please help by posting your experiences with the Blackdown JDK
  on Slackware.

  5.1.5.  Other Linux Distributions

  Check with http://nr.conexware.com/~zorzella/wine/FAQ2.htm to see if
  Luiz Otvio Lautenschlger Zorzella has additional information that
  applies to your platform.

  5.2.  Is There Anything Different About Native Interfaces on Linux?

  Not really. The compilation flags may need to be different from what
  Javasoft recommends in the Solaris-oriented documentation.

  There have been reports of problems with C++ IOStreams using
  libstdc++-2.7.x. Note that g++-2.8.1 and libstdc++-2.8.1 have been
  tested, and seem to work on RedHat 5.0.

  Ed Roskos <[EMAIL PROTECTED]> gives us these instructions for C
  JNI:
  I've written a few shared libraries for use under both Linux
  and Solaris, and since a few people are curious about this,
  here goes:

  1) Make sure you have run javah. Plenty of documentation on
     this exists.
  2) You must first compile your C source files to object files,
     which end in ".o". Example:
      gcc -fPIC -c -I<java-header-path> file1.c -o file1.o
     You must replace <java-header-path> with the path to the
     include files for java-linux.
  3) Create your library.  This is not the same as creating an
     executable. Under Linux, use: ld -shared file1.o -o libMyLib.so
     If you have more than file1.o, just list them after file1.o.

  You can then, from Java, load your library as
  System.loadLibrary("MyLib");

  Hope this helps.

  Ed Roskos
  [EMAIL PROTECTED]

  And  Duncan Roe <[EMAIL PROTECTED]> points us to the Texinfo docu-
  mentation for GNU C, and argues that -fPIC only makes a difference on
  the m68k, m88k and the Sparc.  Evidently -fpic works in some cases
  (ELF?) on x86.

  5.3.  What's Wrong with Thread Priorities and the Console?

  You may be asking yourself this question if you share access to
  System.out or System.in among several threads.  Jason Gilbert
  <[EMAIL PROTECTED]> has a reply to this question:

  Bernd Kreimeier wrote:
  >
  > Is there a problem with several threads using System.out
  > at the same time? A JDK problem? Or a Linux JDK problem?

  I believe it's a green threads JDK problem.

  jason

  --
  Jason Gilbert | http://www.scott.net/~jason/
                | http://www.homewood.net

  5.4.  Is there a JIT (Just in Time Compiler) for the Blackdown JDK?

  There are several. Please take a look at
  http://www.blackdown.org/java-linux/javatools.html for pointers.

  5.5.  Does the TYA JIT Work with the Blackdown JDK?

  Yes.  Alexander Davydenko <[EMAIL PROTECTED]> posted an updated configure
  script to install TYA that this author hasn't tested. You can read his
  post at http://www.mail-archive.com/java-
  [EMAIL PROTECTED]/msg00126.html

  5.6.  Does Javasoft's Activator JVM work on Linux with Netscape?

  Take a look at http://www.blackdown.org/activator/.

  5.7.  Can I Display Kanji with the Blackdown JDK?

  Nozomi Matsumura <[EMAIL PROTECTED]> has a suggestion that
  at least applied to earlier, libc5 versions of the JDK, and may still
  work. It involves making use of multi-byte character support provided
  in builds of libX11.so with the Xsetlocale() call.  (Please refer to
  information about obtaining X11 libraries built with this option
  ``elsewhere in the FAQ''.)

  Matsumura-san points us at this fix provided by Hiroshi Hisamatsu
  <[EMAIL PROTECTED]>, which is a small, shared library
  (liblocale.so) to explicitly specify the Kanji locale. It is available
  from http://www.asahi-net.or.jp/~nf6h-hsmt/jdk1.1.1-locale.tar.gz.

  More detail on this is available in Japanese at http://www.asahi-
  net.or.jp/~nf6h-hsmt/java.html. The fix also involves adding the
  following lines to your .java_wrapper file in $JAVA_HOME/bin:

  ______________________________________________________________________
  LD_PRELOAD="$JAVA_HOME/lib/${ARCH}/$THREADS_TYPE/liblocale.so"
  export LD_PRELOAD
  ______________________________________________________________________

  Matsumura-san also mentions changing the locale specified by your
  environment variable LANG to ja, and says that ja_JP.{EUC,ujis} did
  not work.

  If you have additional information about making CJK (Chinese,
  Japanese, and Korean) code work well with Java on Linux, please tell
  ``the FAQ maintainer''.

  5.8.  Questions Specific to the Blackdown JDK on Linux

  This is a kind of place-holder for questions to answer Real Soon Now.
  Please feel free to send answers to these questions to ``the FAQ
  maintainer'' for its next revision.

  1. Do the Java 3D and other potentially native extensions work on
     Linux?

  2. Have you had problems with the Java Webserver?

  3. <your question here>

  6.  General Questions about Java

  6.1.  Where Can I Learn More about Java?

  Here are a nuber of excellent starting points.

  o  Elliotte Rusty Harold's comp.lang.java FAQ:
     http://sunsite.unc.edu/javafaq/javafaq.html

  o  The Java networking FAQ:
     http://www.io.com/~maus/JavaNetworkingFAQ.html

  o  Peter van der Linden's Java Programmer's FAQ:
     http://www.best.com/~pvdl/javafaq.html

  o  Javasoft's Developer Connection FAQ:
     http://developer.javasoft.com/developer/techDocs/faqs.html

  7.  General Questions about Linux

  7.1.  Where Can I Find Linux FAQs, Mailing Lists, and Documentation?

  Here's a list of good places to start:

  o  The Linuxdoc project: http://sunsite.unc.edu/LDP/.

  o  The main Linux webiste: http://www.linux.org/.

  o  Linux kernels and libraries: http://www.kernel.org/.

  7.2.  What is glibc, and Why Does it Matter?

  I'll explain what libc and glibc in a bit, but first, let me say that
  the current Linux JDK tries to avoid library incompatibilities by
  providing a dedicated linker/loader and "libc" within the Linux JDK
  distribution itself. And (I think) even before this change, the
  problem of "which of libc5 or glibc is needed" was theoretically only
  experienced on systems such as RedHat 5.0 and Debian 2.0 that had so
  rapidly moved to glibc. Other library conflicts are always bound to
  happen because of the variety of Linux versions and configurations
  there are.

  The UNIX "libc" is the core set of functions to which most utility and
  application code links. You can see references to libc in the intro(3)
  manual page. For your information, functions described in section two
  (see intro(2)) of the manual are all inside the kernel, whereas
  section three describes those which may be standard, but are stored in
  separate libraries. To view these pages, make sure your core manual
  pages are installed, and type man 3 intro, for example.

  In order to save disk space and memory, modern operating systems like
  Linux have taken to using "shared" libraries that don't move their
  contents into code which links to them during the build process.
  Although there is a /usr/lib/libc.a, most production code is linked to
  /usr/lib/libc.so, which is typically a link-editor script for
  selecting the actual libc.so (shared object) archive.

  In short, lots of programs on your system share code out of one or
  more files as they execute. To see what shared code an executable
  needs, there is an optional Linux utility named ldd(1). If it's on
  your system, you can type ldd PROGRAM to see its shared libraries.

  Here's an example:

  ______________________________________________________________________
  $ ldd /bin/ls
          libc.so.6 => /lib/libc.so.6 (0x40003000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
  ______________________________________________________________________

  The older (and still most common) Linux libc was known as "libc5." The
  GNU/Linux development community sought to improve on it by adding
  thread-safety where possible, 64-bit support, better POSIX and XPG4.2
  compliance, superior organization of the library sources, and multi-
  byte character locale support. These and other changes will bring even
  more robustness and quality to the Linux development environment.
  Although the changes are inconvenient to us sometimes, the end result
  should be worth it.

  The new library is now called "glibc" because it's a library common
  across Linux and HURD, and enjoys a broad base of GNU developer
  contributions. (I don't know how much of the earlier Linux libc
  software was derived from GNU libc, which has been around for quite a
  while on its own, I think.)

  For more information on GNU libc, see
  http://www.imaxx.net/~thrytis/glibc/.  Since C is central to the
  history and development of UNIX and Linux, you might enjoy the links
  found on http://www.dundee.ac.uk/~bmsimpso/work/C-Programming/ as
  well.

  8.  Compiling the JDK from Source

  8.1.  Can I Build Java Myself?

  Building the JDK on Linux with patches supplied by Steve Byrne is
  fairly straightforward. See http://www.blackdown.org/~sbb for the
  diffs and some additional details.

  I encourage you to read README.linux.src from the patched source
  distribution if you plan to undertake this project. You will need to
  sign ``a license agreement with Javasoft'' in order to download the
  sources.

  8.2.

  Could You Give Me a Pointer to Sun's Licensing Agreement?

  In order to obtain the JDK sources, first you must read, sign, and FAX
  in an agreement with Sun. The agreement can be found at
  http://www.javasoft.com/nav/business/source_form.html.

  8.3.  How do I Build the JDK Now that I Have the Source?

  Please read the README.linux.src file (which is also in the current
  binary distribution).

  8.4.  What about Motif? Don't I Need That?

  You can build the JDK against Lesstif, the Hungry Programmers' GNU
  copylefted implementation of the Motif API. For more information,
  visit their website at http://www.lesstif.org.  Make sure you get the
  "current" distribution. They are very responsive to accurate bug and
  problem reports.

  On the other hand, a number of Motif developer library vendors exist
  for Linux systems. I recommend you read the Motif comp.windows.x.motif
  news group FAQ. You can find it here:
  http://www.rahul.net/kenton/faqs/mfaq_index.html.

  9.  Information on the Java-Linux FAQ Itself

  9.1.

  Who is the FAQ Maintainer?

  Answers to questions found in this FAQ are from a variety of
  participants on [EMAIL PROTECTED]  If you have any
  comments, clarifications, or corrections, please send them to Stephen
  Wynne <[EMAIL PROTECTED]>.  If you have something to add, please send
  E-mail to the list itself.

  9.2.  Where Can I Get a Copy of the FAQ?

  Although this document may be freely redistributed, most-recent copies
  of this FAQ can currently be found at
  http://www.place.org/~stevemw/java/FAQ/FAQ-java-linux.html.
  You can also find a text version of this document here:
  http://www.place.org/~stevemw/java/FAQ/FAQ-java-linux.txt, and full
  source for the original at http://www.place.org/~stevemw/java/FAQ/.

  This FAQ was produced directly from SGML with the SGML tools package
  v0.99.0, using the LINUXDOC.DTD.

  9.3.  Caveat Emptor

  This document may contain technical information that is incorrect,
  out-dated, and may unintentionally misrepresent the opinions of java-
  [EMAIL PROTECTED] participants.  Also, ``the FAQ maintainer''
  makes no warranty with respect to its usefulness, but makes every
  attempt make it so anyway, and welcomes efforts to improve it.

Reply via email to