Hello,
Quote:
Originally Posted by BratPit
I found it.
There is bug in JRE package for Slackware
The environment path is: /usr/lib/java
and should be: /usr/lib/java/jre
|
The JRE package has no folder
/usr/lib/java/jre, this one comes from the JDK package.
But, I reproduced the problem under
Slackware and
Centos (6.2) using only the binaries from Oracle (versions 6u25 and 6u30).
First of all, looking at the Slackbuild used to repackage the JRE binaries from Oracle, we notice the steps below :
- Unpacks the binary from Oracle under /usr/lib, which create a folder name jre1.6.0_25.
- renames the folder jre1.6.0_25 to java
- creates a symlink jre1.6.0_25 -> java
It seems that the problem has something to do with the step #2, but I really don't know why and I don't understand that
. This should be related to a bug from Oracle or inside the application pointed by the provided jnlp link.
So, how to reproduce the problem using only the binaries from Oracle ?
- Save the script /etc/profile.d/jre.sh to something like /etc/profile.d/jre.sh.bak
- Remove your java installation (ie removepkg jre or removepkg jdk)
- Restore the script /etc/profile.d/jre.sh
- Get the JRE binary from Oracle. This test can be done using the version "6u30" as you can't get previous versions unless you have an Oracle account (sic!).
- as root, install the JRE into /usr/lib :
Code:
$ cd /usr/lib
$ sh /path/to/oracle/jre-6u30-linux-i586.bin (or jre-6u30-linux-x64.bin)
After this, the JRE must be installed into /usr/lib/jre1.6.0_30. Always in /usr/lib, create this link :
Code:
$ ln -sf jre1.6.0_30 java
Now, as normal user, if you start the application from the given jnlp link, using your browser or using the command below, things should work without any problem.
Code:
$ javaws http://makler.bmbgz.pl/sidoma8inter/sidoma_kl.jnlp
Now, we're going to reproduce, with the binary from Oracle, the problem found with the JRE package from Slackware.
1. As root :
Code:
$ cd /usr/lib
$ rm java
$ mv jre1.6.0_30 java
$ ln -sf java jre1.6.0_30
Note:The 2 last lines are the steps #2 and #3 found into the Slackbuild used to repackage the binaries from Oracle.
2. As normal user, if you start the application from the provided jnlp link, an error will be thrown.
Now, if we cancel what was done in the two previous steps, the application will start normally again :
- As root :
Code:
$ cd /usr/lib
$ rm jre1.6.0_30
$ mv java jre1.6.0_30
$ ln -sf jre1.6.0_30 java
- As normal user, the application started from the provided jnlp link should work.
As the JDK binaries are repackaged the same way, I really don't understand why the jnlp-application works with it and not with the JRE. Is anybody else could check this to ensure that I don't tell stupid things
?
Greetings.
--
SeB