System/Installation/J602/Linux

From J Wiki
Jump to: navigation, search
Overview   Platforms: Windows · Linux · Mac · PocketPC   Other: Special Installations

Standard Install

If you downloaded to ~/temp , do a Standard J32 install with:

...$ sh ~/temp/j602a_linux32.sh -install

For J64 use 64 instead of 32.

This unpacks the J folder in your <HOME> folder. A linux32 file creates the folder j602 and linux64 creates j64-602.

In the following examples, if your install is linux64, use j64-602 instead of j602.

Run Jwdp:

...$ ~/j602/bin/jwd

See Jwdp Problems if Jwdp fails.

Run Jconsole:

...$ ~/j602/bin/jconsole

For easy Jwdp start, create desktop launch icon (method depends on desktop).

For easy Jconsole start, create a symbolic link in a folder in PATH. For example,

...$ ln -s ~/j602/bin/jconsole jc
...$ sudo mv jc /usr/bin/jc

Unix hardlinks to JFE are not supported and symlinks must have an absolute path.

System Install

If you downloaded to ~/temp , do a System J32 install with:

...$ sudo sh ~/temp/j602a_linux32.sh -install /usr/local/lib

For J64 use 64 instead of 32.

Run Jwdp:

...$ /usr/local/lib/j602/bin/jwd

See Jwdp Problems if Jwdp fails.

Run Jconsole:

...$ /usr/local/lib/j602/bin/jconsole

For easy Jwdp start, create desktop launch icon (method depends on desktop).

For easy Jconsole start, create a symbolic link in a folder in PATH. For example,

...$ ln -s /usr/local/lib/j602/bin/jconsole jc
...$ sudo mv jc /usr/local/bin/jc

Unix hardlinks to JFE are not supported and symlinks must have an absolute path.

Jwdp Problems

J32 Jwdp runs command java and fails if java isn't in your path or isn't the correct version.

J64 Jwdp runs java64 and fails if java64 isn't in your path or isn't the correct version.

Find the path to the correct 32-bit or 64-bit java binary (you may have to install it).
J32 requires Sun Java 1.4.2 or later and the version must not be 64 bit.
J64 requires Sun Java 1.5.0 or later and the version must be 64 bit.

For example, if /home/name/jre1.5.0_06/bin/java is your Java 64 bit binary, then edit J64 Jwdp to have that full path rather than just the command java64.

Alternatively, create a java64 symlink in your path that links to that binary.

...$ ln -s "/home/name/jre1.5.0_06/bin/java" java64
...$ sudo mv java64 /usr/bin/java64

The following commands may be useful:

...$ which java (display path to current java binary)
...$ java -version (display version for current java binary)
...$ update-java-alternatives -l (lists installed java versions)
...$ sudo update-java-alternatives -s java-1.5.0-sun (sets default java version (to java-1.5.0-sun in this case))

If you are using 64-bit Linux and 32-bit Java then use java32 instead of java in the first two commands above.

Below is sample output from a terminal session on 32-bit Ubuntu.

...$ which java
/usr/bin/java
...$ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05)
Java HotSpot(TM) Client VM (build 1.5.0_13-b05, mixed mode, sharing)
...$ update-java-alternatives -l
java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun
java-6-sun 63 /usr/lib/jvm/java-6-sun
java-7-icedtea 1060 /usr/lib/jvm/java-7-icedtea
...$sudo update-java-alternatives -s java-6-sun
No alternatives for appletviewer.
....
Using `/usr/lib/jvm/java-6-sun/jre/bin/java' to provide `java'.
....
No alternatives for xulrunner-javaplugin.so.
...$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)

Linux OpenGL

OpenGL is available in J32 but is not yet supported in J64 for Linux.

OpenGL support depends on the OpenGL API provided by Mesa. Three libraries are required. libGL.so, libGLU.so and libOSMesa.so.

If the OpenGL demos or lab fails the first thing to check is these libraries. They are probably located in the /usr/lib directory.

If you have problems please report back the following results:

....$ ls -l /usr/lib/libGL.*
....$ ls -l /usr/lib/libGLU.*
....$ ls -l /usr/lib/libOSMesa.*

The most likely problem area is with OSMesa. There are many flavours of this library and we require a fairly recent version in order to support the pixel memory buffer.

Our linux development system has:

....$ ls -l /usr/lib/libOSMesa.*
...libOSMesa.so          ->    libOSMesa.so.6
...libOSMesa.so.6        ->    libOSMesa.so.6.4.060401
...libOSMesa.so.4.060401

The Mesa that came with Suse 9.1 was too old and we had to download and build the latest version.