This product is a full implementation of Sun Microsystems' Java Development Kit 1.1. It enables SCO OEMs, ISVs, and end users to develop and/or execute Java applications.
This JDK product is being released on all three SCO operating system platforms: OpenServer (5.0.0, 5.0.2, 5.0.4), UnixWare (2.1.2), and Gemini beta release. ("Gemini" is SCO's code name for the successor operating system to OpenServer and UnixWare, due to be released later in 1997. Its official name has not been announced at the time of writing of these release notes, and so "Gemini" is used here instead.)
For the most part the JDK is identical for all three platforms, and everything in these release notes applies to all three platforms unless otherwise noted.
The JavaSoft documentation enclosed with this product contains a full description of the different parts of the JDK, but what follows here is an overview.
The JDK includes the essential runtime engine of Java, that is, the equivalent of an OS's kernel and libraries:
appletviewer
browser
The JDK also includes Java development tools:
javac
compiler
jdb
command-line debugger
javah
header/stub generator for native methods
javap
bytecode disassembler
javadoc
documentation formatter
jar
JAR archive tool
The JDK also includes additional components to support distributed applications and database access:
Note that the SCO release number 1.1-1 refers to "1.1" as the base release from Sun, and "-1" as SCO's version within that base.
Because of this, there are a few differences in how the JDK is installed on each platform:
Mount the CD-ROM and install (a pre-release version of)
the Gemini Compatibility Module for OpenServer
(package name preUDK-OS
):
# mount -r /dev/cd0 /mnt # pkgadd -d /mnt preUDK-OS
When that installation is complete, install the JDK itself
(package name jdk
):
# pkgadd -d /mnt jdk
UnixWare-update/upd211
and UnixWare-update/upd212
directories respectively.
Once that is done, mount the CD-ROM and install (a pre-release version of)
the Gemini Compatibility for UnixWare
(package name preUDK-UW
):
# mount -F cdfs -r /dev/cdrom/* /mnt # pkgadd -d /mnt preUDK-UW
If your machine has more than one CD-ROM drive, specify the CD-ROM
device exactly (e.g. /dev/cdrom/c0b0t6l0
).
When that installation is complete, install the JDK itself
(package name jdk
):
# pkgadd -d /mnt jdk
Alternatively, the graphical desktop tool App_Installer
may be used to install these packages.
Note that you may need to increase certain system memory limits; see Using JDK 1.1 for SCO below.
jdk
):
If your machine has more than one CD-ROM drive, specify the CD-ROM device exactly (e.g.# mount -F cdfs -r /dev/cdrom/* /mnt # pkgadd -d /mnt jdk
/dev/cdrom/c0b0t6l0
).
Note that you may need to increase certain system memory limits; see Using JDK 1.1 for SCO below.
Document | CD-ROM directory | installed directory |
---|---|---|
these release notes | ReleaseNotes.html | |
JavaSoft documentation for JDK 1.1 | JavaDoc-1.1/index.html | /usr/java/docs/ |
JavaSoft demos for JDK 1.1 | JavaExamples-1.1/ | /usr/java/demo/ |
JavaSoft tutorial for JDK 1.1 | JavaTutorial/index.html | |
JavaSoft white paper for JDK 1.1 | JavaWhitepaper/java-whitepaper-1.html | |
The Java Language Specification, by James Gosling, Bill Joy, and Guy Steele | JavaLangSpec-1.0/ | |
documentation on SCO's JDBC implementation and SCO's SQL-Retriever product | see JDBC section |
Note that these documents are not integrated into the graphical help system on your platform (e.g. ScoHelp).
Also note that much of this documentation is from Sun, but should be read in an SCO context. For instance, for "Solaris" read any of the three SCO platforms (OpenServer, UnixWare, Gemini). For customer support, any of the normal SCO support mechanisms should be used, rather than contacting Sun.
On OpenServer and UnixWare, you will probably want to set PATH
in your .profile
to include the directory where the JDK
commands are installed, /usr/java/bin
. On Gemini this will
not be necessary, since /usr/java/bin
is included in the
default PATH
that user accounts are created with.
On UnixWare and Gemini, applications of significant size are likely to get "out of memory" errors with the default memory limits provided by the operating system. To fix this, do the following as root:
and then reboot to rebuild the kernel.# /etc/conf/bin/idtune -m HVMMLIM 0x7FFFFFFF # /etc/conf/bin/idtune -m HDATLIM 0x7FFFFFFF # /etc/conf/bin/idtune -m SVMMLIM 0x7FFFFFFF # /etc/conf/bin/idtune -m SDATLIM 0x7FFFFFFF # /etc/conf/bin/idbuild
On all three platforms, you need to give an xhost
command
for your machine if you are using appletviewer
(see
Known Problems below).
javac
is used to compile one or more classes, it
will set the execute permissions bit on for the .class
file if the class contains a main
method. (This happens
on all three platforms.)
Then, on Gemini only, you can execute a Java application simply by giving the name of the main class:
Gemini will look for$ foo.class
foo.class
by use of the PATH
environment variable, just as it would for any other executable.
Of course, you can always use the traditional way of executing a Java application:
In this case,$ java foo
java
must be in the PATH
,
and foo.class
must be in the CLASSPATH
.
C and C++ native methods must be compiled and linked with the SCO Universal Development Kit (UDK). This means that native methods cannot be built with the existing SDK on OpenServer or UnixWare.
Some of the reasons for this requirement include:
long long
data type,
to match the Java 64-bit long
data type
libC.so
) rather than an archive (libC.a
)
Another important limitation with native methods is upon the kinds of system operations that a native method can do. In particular:
libthread.so
SCO-specific examples of the commands needed to build old- and new-style
native methods with C and C++ are
included in the demos part of the JDK 1.1 for SCO documentation, under the
subdirectories
native_c_demo
,
jni_c_demo
,
native_c++_demo
, and
jni_c++_demo
.
The JDK 1.1 for SCO contains SCO's implementation of JDBC. This includes the SCO JDBC driver, the Sun JDBC driver manager, and a sample Java applet and application provided as JDBC demonstrators.
SCO's JDBC implementation is built upon SCO's SQL-Retriever product. Several versions of this (each is specific to OpenServer or UnixWare and to a specific database vendor's product) are provided on the JDK 1.1 for SCO CD-ROM, with a 30-day evaluation license for each. The different versions may be seen when installing SQL-Retriever.
There is no need to separately install the SCO JDBC implementation,
since it is part of the JDK installation.
For further documentation on the SCO JDBC implementation,
see
SQL-Retriever-Doc/Jovrview.htm
on the CD-ROM.
It is necessary to separately install the SQL-Retriever
evaluation product if you are interested in using JDBC. To do
this, execute SQL-Retriever/setup
on the CD-ROM.
The sample JDBC demonstrators are in directory
SQL-Retriever-Doc/examples/
on the CD-ROM.
System.Properties
can be queried. Here are some of the values that will be returned on all
SCO platforms:
java.home=/usr/java java.vendor=SCO java.vendor.url=http://www.sco.com/ java.class.version=45.3
while here are values that are specific to OpenServer 5.0.x:
os.arch=Unknown os.name=SCO_SV os.version=2
UnixWare 2.1.2:
os.arch=x86at os.name=UNIX_SV os.version=2.1
and Gemini beta:
os.arch=IA32 os.name=UNIX_SV os.version=3.0
xhost +
your_machine_name command.
fork()
,
with -ms16m -mx16m
or greater memory limit.