Java/How To use Java with Seamonkey on 64-bit

From openSUSE


How To use Java with Seamonkey on 64-bit

Seamonkey 1.x distributed by openSUSE 10.3, 11.0, 11.1 (and still in Factory) uses the same Gecko as Firefox 2.0. That means, this version of Seamonkey is *not compatible* with new Java plugins distributed with openjdk (b14) and Sun Java.

Use 32bit Java and Seamonkey

The 32bit Sun Java still contains a legacy plugin, which is compatible with Seamonkey. This plugins is installed by default in Seamonkey's plugins directory on 32bit installations. On x86_64 you must:

1.) Install a 32bit sun Java (unfortunately no 32bit compat packages are distributed with openSUSE) - the --noscripts is important, because with postscripts active, you will break the update-alternatives system.

wget \
http://download.opensuse.org/update/11.1/rpm/i586/java-1_6_0-sun-1.6.0.u13-0.1.1.i586.rpm
wget \
http://download.opensuse.org/update/11.1/rpm/i586/java-1_6_0-sun-plugin-1.6.0.u13-0.1.1.i586.rpm
rpm -ivh --noscripts java-1_6_0-sun*.rpm

2.) Install a 32bit version of seamonkey

zypper in seamonkey.i586

3.) Create a symlink

ln -sf /usr/lib/jvm/java-1.6.0-sun-1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/seamonkey/plugins/javaplugin.so

And Java will work. Unfortunately you will have a 32bit version of Seamonkey, so you must also install 32bit versions of all necessary plugins.

Downgrade to older openjdk

The b14 update was a security one, so usage of older version may causes a risk.

1.) Use zypper search to get a list of available versions

zypper se -s java-1_6_0-openjdk
Loading repository data...
Reading installed packages...

S | Name                           | Type       | Version          | Arch   | Repository
--+--------------------------------+------------+------------------+--------+----------------------
  | java-1_6_0-openjdk             | package    | 1.6.0.0_b16-27.2 | x86_64 | Java:openjdk6:Factory
  | java-1_6_0-openjdk             | package    | 1.4_b14-24.5.10  | x86_64 | updates
  | java-1_6_0-openjdk             | package    | 1.2_b11-22.13    | x86_64 | repo-oss

2.) Install an older version and add a lock to prevent an update in future

zypper in java-1_6_0-openjdk-plugin-1.2_b11-22.13
zypper lock java-1_6_0-openjdk java-1_6_0-openjdk-plugin