installing jdk-1.7 on openSUSE 11.2

Hi all, I’ve been tasked with upgrading the jdk from 1.6 to 1.7 on an openSUSE 11.2 box. We use this box to construct an installer for a product. I am a developer, but I’m not the developer of this set of software, nor do I have that much experience with java. And, to boot, I have much more experience with Gentoo and RedHat/CentOS, this is my first time working on a SUSE box, and I’ve never attempted a java upgrade to something not easily supported by the mainstream distro.

So I downloaded jdk-7u2-linux-i586.rpm from the oracle site and it installed to /usr/java/jdk1.7.0_02. I have discovered update-alternatives and made one feeble attempt at just changing the java link. It didn’t seem to do much, ‘javac -version’ still referred to 1.6. So I got to looking and I found what I see as a rabbit hole that I don’t really want to go down with system java paths referring to /usr/lib/jvm and links therein referring to /etc/alternatives and some of those back to /usr/lib/jvm as seen below. Also, not being sure if that elaborate link/file structure is unique to the opensuse supplied jdk-1.6 package(s).

Has anyone else successfully pulled this off? Or are there any words of wisdom regarding this task?

thanks in advance,
-Mark

/usr/lib/jvm contains:
lrwxrwxrwx 1 root root 26 Feb 15 11:15 java -> /etc/alternatives/java_sdk
lrwxrwxrwx 1 root root 32 Feb 15 11:15 java-1.6.0 -> /etc/alternatives/java_sdk_1.6.0
lrwxrwxrwx 1 root root 24 Feb 15 11:15 java-1.6.0-openjdk -> java-1.6.0-openjdk-1.6.0
drwxr-xr-x 7 root root 4096 Feb 15 11:15 java-1.6.0-openjdk-1.6.0
lrwxrwxrwx 1 root root 34 Feb 15 11:15 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx 1 root root 21 May 24 2011 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 May 24 2011 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
lrwxrwxrwx 1 root root 28 Feb 13 14:59 jre-1.6.0-openjdk -> java-1.6.0-openjdk-1.6.0/jre
lrwxrwxrwx 1 root root 29 May 24 2011 jre-openjdk -> /etc/alternatives/jre_openjdk

and /etc/alternatives contains this (find on java, jdk, jre):
lrwxrwxrwx 1 root root 30 Feb 20 09:13 /etc/alternatives/jre_openjdk -> /usr/lib/jvm/jre-1.6.0-openjdk
lrwxrwxrwx 1 root root 38 Feb 20 09:13 /etc/alternatives/jre_exports -> /usr/lib/jvm-exports/jre-1.6.0-openjdk
lrwxrwxrwx 1 root root 31 Feb 20 09:13 /etc/alternatives/java_sdk_openjdk -> /usr/lib/jvm/java-1.6.0-openjdk
lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javap -> /usr/lib/jvm/java-1.6.0-openjdk/bin/javap
lrwxrwxrwx 1 root root 43 Feb 20 09:13 /etc/alternatives/javadoc -> /usr/lib/jvm/java-1.6.0-openjdk/bin/javadoc
lrwxrwxrwx 1 root root 49 Feb 20 09:13 /etc/alternatives/javac.1.gz -> /usr/share/man/man1/javac-java-1.6.0-openjdk.1.gz
lrwxrwxrwx 1 root root 31 Feb 20 09:13 /etc/alternatives/java_sdk_1.6.0 -> /usr/lib/jvm/java-1.6.0-openjdk
lrwxrwxrwx 1 root root 39 Feb 20 09:13 /etc/alternatives/java_sdk_exports -> /usr/lib/jvm-exports/java-1.6.0-openjdk
lrwxrwxrwx 1 root root 56 Feb 20 09:13 /etc/alternatives/javaplugin -> /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so
lrwxrwxrwx 1 root root 38 Feb 20 09:13 /etc/alternatives/jre_1.6.0_exports -> /usr/lib/jvm-exports/jre-1.6.0-openjdk
lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javah -> /usr/lib/jvm/java-1.6.0-openjdk/bin/javah
lrwxrwxrwx 1 root root 49 Feb 20 09:13 /etc/alternatives/javap.1.gz -> /usr/share/man/man1/javap-java-1.6.0-openjdk.1.gz
lrwxrwxrwx 1 root root 38 Feb 20 09:13 /etc/alternatives/jre_openjdk_exports -> /usr/lib/jvm-exports/jre-1.6.0-openjdk
lrwxrwxrwx 1 root root 39 Feb 20 09:13 /etc/alternatives/java_sdk_1.6.0_exports -> /usr/lib/jvm-exports/java-1.6.0-openjdk
lrwxrwxrwx 1 root root 51 Feb 20 09:13 /etc/alternatives/javadoc.1.gz -> /usr/share/man/man1/javadoc-java-1.6.0-openjdk.1.gz
lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javac -> /usr/lib/jvm/java-1.6.0-openjdk/bin/javac
lrwxrwxrwx 1 root root 30 Feb 20 09:13 /etc/alternatives/jre_1.6.0 -> /usr/lib/jvm/jre-1.6.0-openjdk
lrwxrwxrwx 1 root root 39 Feb 20 09:13 /etc/alternatives/java -> /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
lrwxrwxrwx 1 root root 31 Feb 20 09:13 /etc/alternatives/java_sdk -> /usr/lib/jvm/java-1.6.0-openjdk
lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javaws -> /usr/lib/jvm/jre-1.6.0-openjdk/bin/javaws
lrwxrwxrwx 1 root root 30 Feb 20 09:13 /etc/alternatives/jre -> /usr/lib/jvm/jre-1.6.0-openjdk
lrwxrwxrwx 1 root root 49 Feb 20 09:13 /etc/alternatives/javah.1.gz -> /usr/share/man/man1/javah-java-1.6.0-openjdk.1.gz
lrwxrwxrwx 1 root root 48 Feb 20 09:13 /etc/alternatives/java.1.gz -> /usr/share/man/man1/java-java-1.6.0-openjdk.1.gz
lrwxrwxrwx 1 root root 39 Feb 20 09:13 /etc/alternatives/java_sdk_openjdk_exports -> /usr/lib/jvm-exports/java-1.6.0-openjdk

On 2012-02-21 00:46, mbrehon wrote:
>
> Hi all, I’ve been tasked with upgrading the jdk from 1.6 to 1.7 on an
> openSUSE 11.2 box. We use this box to construct an installer for a
> product. I am a developer, but I’m not the developer of this set of
> software, nor do I have that much experience with java.

Mmmm… Notice that 11.2 is obsolete, out of maintenance. Unless you are
using evergreen…

And, to boot, I
> have much more experience with Gentoo and RedHat/CentOS, this is my
> first time working on a SUSE box, and I’ve never attempted a java
> upgrade to something not easily supported by the mainstream distro.
>
> So I downloaded jdk-7u2-linux-i586.rpm from the oracle site and it
> installed to /usr/java/jdk1.7.0_02. I have discovered
> update-alternatives and made one feeble attempt at just changing the
> java link. It didn’t seem to do much, ‘javac -version’ still referred
> to 1.6. So I got to looking and I found what I see as a rabbit hole
> that I don’t really want to go down with system java paths referring to
> /usr/lib/jvm and links therein referring to /etc/alternatives and some
> of those back to /usr/lib/jvm as seen below. Also, not being sure if
> that elaborate link/file structure is unique to the opensuse supplied
> jdk-1.6 package(s).
>
> Has anyone else successfully pulled this off? Or are there any words
> of wisdom regarding this task?
>
> thanks in advance,
> -Mark
>
> /usr/lib/jvm contains:
> lrwxrwxrwx 1 root root 26 Feb 15 11:15 java ->
> /etc/alternatives/java_sdk
> lrwxrwxrwx 1 root root 32 Feb 15 11:15 java-1.6.0 ->
> /etc/alternatives/java_sdk_1.6.0
> lrwxrwxrwx 1 root root 24 Feb 15 11:15 java-1.6.0-openjdk ->
> java-1.6.0-openjdk-1.6.0
> drwxr-xr-x 7 root root 4096 Feb 15 11:15 java-1.6.0-openjdk-1.6.0
> lrwxrwxrwx 1 root root 34 Feb 15 11:15 java-openjdk ->
> /etc/alternatives/java_sdk_openjdk
> lrwxrwxrwx 1 root root 21 May 24 2011 jre -> /etc/alternatives/jre
> lrwxrwxrwx 1 root root 27 May 24 2011 jre-1.6.0 ->
> /etc/alternatives/jre_1.6.0
> lrwxrwxrwx 1 root root 28 Feb 13 14:59 jre-1.6.0-openjdk ->
> java-1.6.0-openjdk-1.6.0/jre
> lrwxrwxrwx 1 root root 29 May 24 2011 jre-openjdk ->
> /etc/alternatives/jre_openjdk
>
>
> and /etc/alternatives contains this (find on java, jdk, jre):
> lrwxrwxrwx 1 root root 30 Feb 20 09:13 /etc/alternatives/jre_openjdk ->
> /usr/lib/jvm/jre-1.6.0-openjdk
> lrwxrwxrwx 1 root root 38 Feb 20 09:13 /etc/alternatives/jre_exports ->
> /usr/lib/jvm-exports/jre-1.6.0-openjdk
> lrwxrwxrwx 1 root root 31 Feb 20 09:13
> /etc/alternatives/java_sdk_openjdk -> /usr/lib/jvm/java-1.6.0-openjdk
> lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javap ->
> /usr/lib/jvm/java-1.6.0-openjdk/bin/javap
> lrwxrwxrwx 1 root root 43 Feb 20 09:13 /etc/alternatives/javadoc ->
> /usr/lib/jvm/java-1.6.0-openjdk/bin/javadoc
> lrwxrwxrwx 1 root root 49 Feb 20 09:13 /etc/alternatives/javac.1.gz ->
> /usr/share/man/man1/javac-java-1.6.0-openjdk.1.gz
> lrwxrwxrwx 1 root root 31 Feb 20 09:13 /etc/alternatives/java_sdk_1.6.0
> -> /usr/lib/jvm/java-1.6.0-openjdk
> lrwxrwxrwx 1 root root 39 Feb 20 09:13
> /etc/alternatives/java_sdk_exports ->
> /usr/lib/jvm-exports/java-1.6.0-openjdk
> lrwxrwxrwx 1 root root 56 Feb 20 09:13 /etc/alternatives/javaplugin ->
> /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so
> lrwxrwxrwx 1 root root 38 Feb 20 09:13
> /etc/alternatives/jre_1.6.0_exports ->
> /usr/lib/jvm-exports/jre-1.6.0-openjdk
> lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javah ->
> /usr/lib/jvm/java-1.6.0-openjdk/bin/javah
> lrwxrwxrwx 1 root root 49 Feb 20 09:13 /etc/alternatives/javap.1.gz ->
> /usr/share/man/man1/javap-java-1.6.0-openjdk.1.gz
> lrwxrwxrwx 1 root root 38 Feb 20 09:13
> /etc/alternatives/jre_openjdk_exports ->
> /usr/lib/jvm-exports/jre-1.6.0-openjdk
> lrwxrwxrwx 1 root root 39 Feb 20 09:13
> /etc/alternatives/java_sdk_1.6.0_exports ->
> /usr/lib/jvm-exports/java-1.6.0-openjdk
> lrwxrwxrwx 1 root root 51 Feb 20 09:13 /etc/alternatives/javadoc.1.gz
> -> /usr/share/man/man1/javadoc-java-1.6.0-openjdk.1.gz
> lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javac ->
> /usr/lib/jvm/java-1.6.0-openjdk/bin/javac
> lrwxrwxrwx 1 root root 30 Feb 20 09:13 /etc/alternatives/jre_1.6.0 ->
> /usr/lib/jvm/jre-1.6.0-openjdk
> lrwxrwxrwx 1 root root 39 Feb 20 09:13 /etc/alternatives/java ->
> /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
> lrwxrwxrwx 1 root root 31 Feb 20 09:13 /etc/alternatives/java_sdk ->
> /usr/lib/jvm/java-1.6.0-openjdk
> lrwxrwxrwx 1 root root 41 Feb 20 09:13 /etc/alternatives/javaws ->
> /usr/lib/jvm/jre-1.6.0-openjdk/bin/javaws
> lrwxrwxrwx 1 root root 30 Feb 20 09:13 /etc/alternatives/jre ->
> /usr/lib/jvm/jre-1.6.0-openjdk
> lrwxrwxrwx 1 root root 49 Feb 20 09:13 /etc/alternatives/javah.1.gz ->
> /usr/share/man/man1/javah-java-1.6.0-openjdk.1.gz
> lrwxrwxrwx 1 root root 48 Feb 20 09:13 /etc/alternatives/java.1.gz ->
> /usr/share/man/man1/java-java-1.6.0-openjdk.1.gz
> lrwxrwxrwx 1 root root 39 Feb 20 09:13
> /etc/alternatives/java_sdk_openjdk_exports ->
> /usr/lib/jvm-exports/java-1.6.0-openjdk
>
>


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)