Java

Linux Build Instructions

JavaTM 2 SDK, Standard Edition, v1.4.1 fcs

Build Overview

Contents

Introduction

This README file contains build instructions for the JavaTM 2 SDK, Standard Edition, v1.4.1 (J2SDK 1.4.1) Community Source Release. Building the source code for the Java 2 SDK requires a high level of technical expertise. Sun provides the source code primarily for technical experts who want to conduct research, port the platform to new operating systems and hardware, or add enhancements that require access to platform internals. If you are not a technical professional in one of these categories, this release is probably not for you.

Linux System Setup

The official build platform for the J2SDK 1.4.1 is Red Hat Linux 6.1.

The minimum recommended hardware for building the Linux version is a Pentium class processor or better, at least 128 megabytes of RAM, and approximately 1.5 GB of free disk space.

The build uses the tools contained in /bin and /usr/bin of a standard installation of the Linux operating environment. You should ensure that these directories are on your PATH.

Linux Build Tools and Libraries Setup

Once the Linux OS is set up, you will need to install additional tools and libraries for building the J2SDK.

GCC Compiler

The GNU gcc/g++ compiler version egcs-2.91.66 is required. This compiler is shipped with Red Hat Linux 6.1 in the /usr/bin directory. If the compiler resides in a different directory on your machine, then set ALT_COMPILER_PATH to point to the location of the GCC compiler binaries. The GCC compiler binaries must also be in the PATH.

Bootstrap J2SDK

You will need access to a J2SDK 1.4.0 for Linux installation. The 1.4.0 binaries can be downloaded from Sun's J2SDK 1.4.0 download site. Set ALT_BOOTDIR to point to the location of the bootstrap J2SDK installation.

GNU Make

GNU make version 3.78.1 or later is required to build the J2SDK. Information on GNU make, including download sites, is available on the GNU Make web site. For convenience, place the GNU make binary in the PATH.

Motif 2.1

Motif version 2.1 headers and libraries are required for building the Linux J2SDK. (Motif 2.2 headers will not work.) As a convenience, the source bundles include an archive of these files that incorporate a number of J2SDK-related bug fixes. Unpack the archive into a directory similar to the one shown below, and set the ALT_MOTIF_DIR environment variable to the absolute path of the top-level directory.
         +- motif_area/           (Set ALT_MOTIF_DIR to this directory.)
            +- include/
            +- lib/   
                
The name of the top-level directory is not significant; it does not have to be motif_area.

Mozilla Headers

Mozilla headers are required for building Java Plug-in. As a convenience, the source bundles include an archive of these files. Unpack the archive into a directory similar to the one shown below, and set the ALT_MOZILLA_PATH environment variable to the absolute path of the top-level directory.
      +- devtools/          (set ALT_MOZILLA_PATH to this level)
         +- share/
            +- plugin/
               +- mozilla_headers_ns600/
               +- mozilla_headers_ns610/
    
The name of the top-level directory is not significant; it is not required to be named devtools.

cacerts

A certificates file named "cacerts" represents a system-wide keystore with CA certificates. In J2SDK and JRE binary bundles, the "cacerts" file contains root CA certificates from several public CAs (e.g., VeriSign, Thawte, and Baltimore).

The source bundles contain a cacerts file without CA root certificates. J2SDK builders will need to secure permission from each public CA and include the certficates into their own custom cacerts file. Failure to provide a populated cacerts file will result in verification of a certificat chain during runtime.

The ALT_CACERTS_FILE should be set to point to the location of the populated cacerts file.

Linux Build Environment Variables

This section describes environment variables that you can set to influence various aspects of the build. Some of these variables are mentioned specifically in the setup and build instructions above. Others you may set at your discretion.

Environment variables may be set in the shell environment or on the GNU make command line.

PATH
Set the PATH to contain:
  • The location of the GNU make binary
  • The location of the GCC compiler binaries (usually /usr/bin, but see ALT_COMPILER_PATH)
  • /usr/bin
  • /bin

ALT_BOOTDIR
The location of the J2SDK 1.4.0 bootstrap installation.

ALT_OUTPUTDIR
An override for specifying the (absolute) path of where the build output is to go.

ALT_UNIXCOMMAND_PATH
An override for specifying where the Unix /bin commands are located. You usually do not need to set this variable: the default location is /bin.

ALT_USRBIN_PATH
An override for specifying where the Unix /usr/bin commands are located. You usually do not need to set this variable: the default location is /usr/bin)

ALT_COMPILER_PATH
An override for specifying the location of the GCC compiler. See GCC Compiler for details.

ALT_CACERTS_FILE
The location of the cacerts file. See cacerts file for details.

ALT_MOTIF_DIR
The location of the Motif 2.1 headers and libraries. See Motif 2.1 for details.

ALT_MOZILLA_PATH
The location of the the Mozilla headers. See Mozilla Headers for details.

MILESTONE
The milestone name for the build (e.g. "beta").

BUILD_NUMBER
The build number for the build (e.g. "b27").

DEV_ONLY
This is set to indicate that no attempt should be made to build certain components that are not required for development builds.
The following environment variables should not be set:

Linux Build

  1. cd into the control/make directory.
  2. Start the build with the command:
        gnumake all DEV_ONLY=true [ALT_OUTPUTDIR=directory-name-for-output] [MILESTONE=milestone_name] [BUILD_NUMBER=build_number] [other "ALT_" overrides]

Copyright 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303, U.S.A.
All rights reserved.

Sun