Implementing Java on AIX : Installing and configuring a temporary fix

This document provides instructions for implementing and troubleshooting Java for IBM's AIX operating system.

It is provided by the

IBM eServer UNIX and ISV Technical Support Team for AIX and Java

located in Austin, Texas.

The purpose of this document is to provide short and simple, but complete instructions for installing and configuring a temporary fix provided by the support teams.

** SERVICE NOTICES**

Temporary fixes provided by the AIX/Java support team are meant for applications that use the standalone SDK (or JDK) that have been previously downloaded from the Java for AIX download site :

http://www-106.ibm.com/developerworks/java/jdk/aix/service.html

These fixes are not meant for Websphere based applications. If the application is running in the Websphere environment, the temporary fix must repackaged to support this environment and should only be obtained from a Webspere support team.

Also, temporary fixes are meant to fix a specific issue until the next official update or service refresh. The temporary fix will be supported until such time that the next update is provided. When the update becomes available, the customer must upgrade the standard Java installation to the newer level for continued support.

Finally, per the service agreement outlined on the previous URL, temporary fixes will be provided on the most recent level or service refresh for that version of Java. Fixes will not be provided for older levels of Java. If the application uses a product that requires specific levels of Java, you must work with that company to verify ( or certify ) the level of the fix being provided. This is not the responsibility of IBM. Again, this is clearly documented in the above URL.

Step 1 Download the installation file

Unless otherwise stated, the temporary fix will most likely be provided as a complete SDK (or JDK) installation packaged as a JAR file. The name of this JAR file should be provided along with this documentation. This JAR file can be downloaded from IBM's testcase or FTP server using the following URL :

     ftp://testcase.boulder.ibm.com/aix/fromibm/filename.jar
where filename.jar is name of the installation file provided by support.

If you do not have access to a Web browser, the file can be manually transferred running a FTP command and performing the following steps :
     ftp testcase.boulder.ibm.com
     login: anonymous
     password: user@host.com
     ftp> cd /aix/fromibm
     ftp> bin
     ftp> get filename.jar
     ftp> quit


** SERVICE NOTICES **
Java for AIX or any temporary fix can not be ordered on CD from the support organization. IBM only provides Java for AIX on AIX installation media when there is a dependency for a specfic release or on the Bonus CD included with the installation media. There is will be no exception as long as Java for AIX is provided for free of charge for downloading from a web site.

Also, IBM will not, and is not obligated to, provide release dates of any product, including Java or AIX, or upgrades for those products that has not been officially announced or made pubilcly available.

Step 2 Install the temporary fix

When the fix is provided as a JAR file, it is important to understand the features ( or lack of ) that are associated with the JAR that are provided with other types of archiving utilities. The JAR is an archive ( collection ) of files in a compressed format. The only file properties that are maintained during the extraction of files are their contents and size. To extract the contents of a JAR file, the jar command will be used. Although this command has a similar syntax to the tar command, other properties such as permissions, ownership and symbolic links which are maintained by a TAR file will not be maintained in the JAR file.

To install the temporary fix, run the following commands :

     mkdir -p /temporary_directory
     cd /temporary_directory
     jar -xvf filename.jar
     chmod -R 755 sdk       

where temporary_directory is a temporary directory for saving the files and filename.jar is the name of the JAR file downloaded in Step 1. Also, it is important to note that a sdk directory is created under the temporary directory. The full path to the java installation ( i.e., JAVA_HOME) will be /temporary_directory/sdk not /temporary_directory.

When an official update or new release is made available from the Java download page, the installation files are provided in installp (bff) format. For these types of installation files, some symbolic links have been added which are not included in the temporary fixes. If the process environment ( i.e., shell environment ) has been set up correctly according to the release notes for that version, not having these symbolic links should not cause any issue. However, there are situations that applications are explicitly referencing these symbolic links, which may prevent the application from starting properly. To correct this situation, you may manually need to run the following commands :

     cd /temporary_location/sdk
     ln -s ${PWD}/jre/bin/java ${PWD}/bin/java
     ln -s ${PWD}/jre/bin/javaw ${PWD}/bin/javaw
     ln -s ${PWD}/jre/bin/jvmtcf ${PWD}/bin/jvmtcf
     ln -s ${PWD}/jre/bin/keytool ${PWD}/bin/keytool
     ln -s ${PWD}/jre/bin/policytool ${PWD}/bin/policytool
     ln -s ${PWD}/jre/bin/rmid ${PWD}/bin/rmid
     ln -s ${PWD}/jre/bin/rmiregistry ${PWD}/bin/rmiregistry
     ln -s ${PWD}/jre/bin/tnameserv ${PWD}/bin/tnameserv
     ln -s ${PWD}/bin/appletviewer ${PWD}/jre/bin/appletviewer
     ln -s ${PWD}/jre/bin ${PWD}/jre/sh
     ln -s ${PWD}/bin ${PWD}/sh
Step 3 IBM AIX Java Configuration

The configuration of Java is simple, that is, you just need to setup the environment to reference the desired version of java. For each version, a readme or SDK guide is provided (in HTML) format in each installation directory or available on the main download page for that version of java. In the release notes, it provides instructions for setting up the environment for running that version of java. Not following these instructions will result in problems. The release notes provided will likely reference the standard installation directory and not the temporary directory used in Step 2. Simply replace references to standard installation directory ( e.g., /usr/java131, /usr/java14) with the temporary directory used in Step 2. To quickly see what environment variables need to be modified, run the env command for the java process environment and change the required references.

Provided is a script called javaenv that can be used to verify that the java installation. This script only works for the Korn shell (ksh) environment. Save the file into the /tmp directory, then run the following commands :

  1. cd /tmp
  2. ksh
  3. chmod 755 javaenv
  4. . /tmp/javaenv /temporary_directory/sdk
    ( where java_home is one of the directories list above or the)
    ( directory that the JRE was installed )
    ( e.g., /temporary_directory/sdk/jre/bin/java )
  5. which java
    ( should list java command and path in correct directory)
  6. java -fullversion
    ( should list java version and build date )
    ( e.g., java full version "J2RE 1.4.1 IBM AIX build ca141-20030703")

The contents of the javaenv are provided at the end of this script.
The environment can be configured in a number of locations, depending on need :

however, it is not recommended that it be added to the /etc/environment file.

---------------------------- javaenv ----------- cut after this line ---------------------
# setup Java environment variables
#
# To run, do :

# . /usr/local/bin/javaenv {path}
# e.g.,
# . /usr/local/bin/javaenv /usr/java131


if [ ! -d ${1} ]; then
echo "error: ${1} does not exist." >&2
else

export JAVAHOME=${1}
export JAVA_HOME="${JAVAHOME}"

export OPATH="${PATH}"
export PATH="${JAVAHOME}/bin:${JAVAHOME}/jre/sh"
export PATH="${PATH}:${JAVAHOME}/jre/bin:${JAVAHOME}/sh:${OPATH}"
unset OPATH

export CLASSPATH="${JAVAHOME}/lib:${CLASSPATH}"

OLIBPATH="${LIBPATH}"
export LIBPATH="${JAVAHOME}/jre/bin"
export LIBPATH="${LIBPATH}:${JAVAHOME}/jre/bin/classic"
export LIBPATH="${LIBPATH}:${JAVAHOME}/lib/aix/native_threads"
export LIBPATH="${LIBPATH}:${JAVAHOME}/bin/aix/native_threads"
export LIBPATH="${LIBPATH}:${OLIBPATH}"
unset OLIBPATH

fi
---------------------------- javaenv ----------- cut before this line ---------------------


History
04/2004 Created by Roger Leuckie ( rog@us.ibm.com)