=//========================================================================IBM=
IBM Java(TM) 2 Port for AIX - Technology Preview README.a12a
Copyright (c) 1996,1998 IBM Corporation.

Build date:     December 1998
Release name:   1.2.0.alpha
Full version:   JDK 1.2.0.alpha IBM build a12a-19981222


Thank you for downloading the IBM Java(TM) 2 Port for AIX - Technology Preview
ported from the Sun 1.2 JDK reference platform source code.

//-- 1.  FEATURES -------------------------------------------------------------

This technology release is based on the Sun final FCS (V) distribution;
please see URL http://www.javasoft.com/jdk for a lot of information about
the Java 2 Platform and related information.

Most, but not all, functionality is working at this time.  Audio, jdbc are not
present. Other function may be present, but occasional failures may be seen.


//-- 2.  NOTE -----------------------------------------------------------------

The software contained in this package runs on AIX Version 4.3.2 (it was built
using that) and some testing has also been successful on AIX 4.3.1. This means
that we haven't yet seen any differences between running on 4.3.1 and 4.3.2,
but most testing has been done with AIX 4.3.2.

Future distributions of the AIX Java 2 Developers Toolkit are expected to run
on AIX 4.2 and 4.3.


//-- 3.  INSTALLATION ---------------------------------------------------------

This distribution comes in the form of a single downloadable file.
When downloading completes you should have a file called Java12a.tar.Z.

For clarity we're assuming the following:

    - the downloaded file in is /tmp
    - you wish to install the package in /usr/lpp. (Other locations are fine.)
    - you are performing this installation while logged in as 'joe'.
    - your home directory is /u/joe.
    - user 'joe' has the necessary file system permissions (write access
       to /usr/lpp for our purposes).

Issue the following commands:

    rm -fr /usr/lpp/J1.2.a
    cd /usr/lpp
    zcat /tmp/Java12a.tar.Z | tar -xvf -

Set up your PATH environment variable to refer to the new installation:

    export PATH=/usr/lpp/J1.2.a/bin:$PATH

Note: It is not necessary to install into /usr/lpp - any other suitable
location is fine.

SPECIAL NOTE FOR ALPHAWORKS DOWNLOADS:

In order to improve downloading of this substantial package, it has been
broken into 6 smaller pieces which need to be reassembled using the updated
instructions on the http://www.alphaWorks.ibm.com/ site under requirements.


//-- 4.  VERIFICATION ---------------------------------------------------------

To ensure that the verification process behaves consistently, do the following:

   unset LIBPATH
   unset CLASSPATH
   unset LD_LIBRARY_PATH
   unset JAVA_COMPILER
   unset JAVA_HOME

If you issue the command

    java -fullversion

it should respond with:

    java full version "JDK1.2.0.alpha IBM build a12a-19981222"

If this is not correct, check that the PATH is set up correctly.  (See above).

Once verification is complete, relogin and review any values you may have
assigned to these variables for possible conflicts with the new installation.

Unless it already existed, executing 'appletviewer' will create a directory
called .hotjava in your home directory.  Issuing 'ls -a ~' should confirm this.


//-- 5.  JUST-IN-TIME (JIT) COMPILER ------------------------------------------

This technology preview does not include a JIT compiler.

 
//-- 6.  AIX NATIVE THREADS ---------------------------------------------------

The JDK uses AIX's POSIX threads ('pthread') package for its threading.  This
means that Java threads can be scheduled on multiple processors on
multi-processor systems.

Thread priorities are not supported.  All threads run at the same priority.

The 'green threads' implementation released with JDK1.0.2 is no longer
supported and is not included in the technology preview.


//-- 7.  JNI EXAMPLE ----------------------------------------------------------

In the jni_example directory, you will find a simple example of the use of the
new JNI interface for native methods introduced in 1.1

The file jni_example/README contains information about the example, plus
general notes on shared libraries.

Note about JNI on AIX4.3: because of some incompatibility between the JDK and
some system defined types, compilation of JNI code requires that the compiler
use the flag _AIX43. This flag is defined by default in /etc/ibmcxx.cfg. But,
if you are using a version of xlc prior to v3.6.4 then you will need to add 
_AIX43 to /etc/xlC.cfg or use -D_AIX43 as a compilation command line option. 
If you wish to try the C++ version, then please also check the location of the
makeC++SharedLib command on your system and amend the jni_example/cpp/Makefile
accordingly.


//-- 8.  AIX FIXES ------------------------------------------------------------

None known to be needed at this time.


//-- 9.  INPUT METHOD ROUTINES --------------------------------------------

Input Method support has not been tested in this release and is believed
not working yet.


//-- 10.  SUPPORTED LOCALES -----------------------------------------------

At the present time, only en_US (encoding ISO8859-1) has been tested with
this technology preview release. Other single-byte locales have been tried
with some success. DBCS locales will experience problems using this release.


//-- 11.  REVISION HISTORY ------------------------------------------------

Dec 1998 - Release of IBM Java(TM) 2 Port for AIX - Technology Preview


//-- 12.  KNOWN PROBLEMS --------------------------------------------------

Please remember that this is a technology preview release, and that some
things may be less than ideal. However, IBM plans to ship a full release
of the Java 2 development kit for AIX meeting the high standards of function,
scalability and performance usually expected of IBM.

The vast majority of the 1.2 JCK has been executed cleanly against this
technology preview release, as well as another test suite and other
applications including benchmarks.

Graphics

	There are several instances in the demos where poor quality graphics
	may be seen. For example, the Java2DemoApplet.html example has many
	variables with which you can experiment. Performance improves a little
	after turning off anti-aliasing.

	Currently the demo/jfc demos work only on the local display
	(DISPLAY=:0.0 or equivalent) although the demo/applets demos are
	working on local and remote displays.

Window controls and annotations

	Occasionally, using the mouse to click on one GUI controls may be
	misdirected to another control. For example, this has been seen with
	menu titles and groups of checkboxes in some of the demos. However,
	the problem is intermittent.

Threads and processes

	There may be infrequent problems using threads, and there is a known
	problem affecting the Runtime.exec() api with very short-lived
	child processes.

Native Methods and JNI

	This codebase uses handles internally, so your existing old-style
	native method libraries will be broken compared to the AIX 1.1.6 JDK;
	that is, they will need to be recompiled.

	The 1.2 JNI internals are changed compared to the 1.1 JNI, so your
	JNI native methods may experience failures in this technology preview
	release. Failures seen so far include

	- passing a null clazz argument to GetMethodID().
	- using CallVoidMethodV() to invoke a Java method which actually
	  returns an Object.

	We suggest you use java_g or appletviewer_g with your JNI
	applications as this makes use of an additional checking layer in
	the JNI.

Fonts

	The fonts specified in font.properties may be modified; feel free to
	modify them to your own requirements. Note that some TrueType fonts
	from the Sun reference distribution are included with this technology
	preview release in lib/fonts, although these are not used.

	If you see some text displayed using Greek characters, then check
	that you have the following fileset installed; if not, you will
	need to install it to avoid this effect:

	X11.fnt.ucs.ttf            4.3.2.0    C    AIXwindows Unicode TrueType

	Java 2 introduces new font management and rendering function, but
	some font filesets may cause a problem. A message may be seen
	looking like:

	/usr/lib/X11/fonts/TrueType/hmfmm.ttc - CMAP 3,5 found at offset 12.

	followed by a SIGSEGV program check (similar messages may be seen
	without a SIGSEGV so those may be ignored). You can use the lslpp
	command "lslpp -L | grep ttf" to see what TrueType filesets are
	installed. If you have only this fileset:

	X11.fnt.ucs.ttf            4.3.2.0    C    AIXwindows Unicode TrueType

	then we think you shouldn't experience this problem. The following
	font filesets (possibly there are others) may be connected with
	the above SIGSEGV problem:

	X11.fnt.ksc5601.ttf
	X11.fnt.ucs.ttf_CN


//-- 13.  CORRESPONDENCE --------------------------------------------------

This technology preview is provided for experimentation and early education
purposes only. There is no support like our production releases of 1.1
although we will monitor the usual newsgroups.

Please see the following web page for further information about the
Java 2 technology preview for AIX and related matters.

    http://ncc.hursley.ibm.com/javainfo/interact/


//---------------------------------------------------------------------IBM-