-
Bug
-
Resolution: Unresolved
-
Major
-
Solaris sparc 64-bit
Using version 1.509.4
The JDK installer is configured to download JDKs from "java.sun.com"
We have different types of slaves in the cluster: Linux 32/64-bit, Windows, Solaris amd64, Solaris SPARC v9.
As notices in the Oracle's documentation[1], "Installing the 64-bit JRE for the Solaris operating system on SPARC, x64, and EM64T platforms is a two-step process."
- First one downloads and installs 32-bit archive (98 MB in case of JDK7u45 for Solaris SPARC [2])
- Then the 32->64 delta should be downloaded and installed into the same dir (18MB in case of JDK7u45 for Solaris SPARC 64-bit [2])
Looks like Jenkins performs only the second part of this recipe. Here is what we have in the Solaris-SPARC-64-bit slave's log:
--------------------------------------------------------------------
Downloading JDK from http://download.oracle.com/otn/java/jdk/7/jdk-7-solaris-sparcv9.tar.gz
Downloading 12979380bytes
Installing /home/jenkins/tools/hudson.model.JDK/JDK_7/jdk.sh
[JDK_7] $ tar xvzf /home/jenkins/tools/hudson.model.JDK/JDK_7/jdk.sh
jdk1.7.0/
jdk1.7.0/lib/
. . .
jdk1.7.0/bin/sparcv9/java
. . .
[hello-world] $ /home/jenkins/tools/hudson.tasks.Ant_AntInstallation/Ant_1.8.1/bin/ant -file build.xml
Error: JAVA_HOME is not defined correctly.
We cannot execute /home/jenkins/tools/hudson.model.JDK/JDK_7/bin/java
--------------------------------------------------------------------
The "java" executable was not created because the downloaded archive did not contain it.
[1] http://www.oracle.com/technetwork/java/javase/install-solaris-64-142882.html
[2] http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
[JENKINS-20299] Solaris SPARC 64 bit slaves get broken JDK from auto-installer
Component/s | New: core [ 15593 ] | |
Component/s | Original: slave-setup [ 15929 ] | |
Priority | Original: Critical [ 2 ] | New: Major [ 3 ] |
Workflow | Original: JNJira [ 151823 ] | New: JNJira + In-Review [ 178076 ] |
The workaround is to "cook" the 64-bit jdk for Solaris-SPARC-64 manually:
And place this archive to the jdks-cache on master. For JDK7u45 this will be:
This way you will propagate the "fixed" JDK to all Solaris-SPARC-64 executors in your cluster (don't forget to remove the existing installations of "broken" JDKs on your slaves at <JENKINS_HOME>/tools/hudson.model.JDK/JDK_7u45 (the example given is for JDK7u45).