Search This Blog

2023-05-16

Cognos Analytics 11.1.x - 11.2.x - Installer failed with JRE libraries missing or not compatible

Product: IBM Cognos Analytics
Version: 11.1.0 - 11.2.2
OS: Linux, AIX, PowerPC, all UNIX distributions
Related IBM KB: https://www.ibm.com/support/pages/jre-libraries-are-missing-or-not-compatible

Problem

When executing  the Cognos installer on a Linux,Aix server the installer fails to run the following error:

Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

JRE libraries are missing or not compatible....
Exiting...."

Symptom

The installer consistently fail to run with below false alarm:
  • JRE libraries are missing - not applicable as the installer is downloaded many times from IBM as a valid zip file, as well as across many different version of Cognos from 11.1.0 - 11.2.2
  • JRE not compatible - not possible, as the installer bundled IBM Java in /tmp/install.dir.[nnnnn]/Linux/resource/jre/bin
(login as UNIX cognos user that created to own the application)
$ echo $TMP
[empty]
$ grep noexec /etc/fstab
UUID=c7aac85c-4dfd-4e40-bd6c-bf57c8284c0c       /       xfs     defaults,noexec
$ echo "echo 012345" > /tmp/test_exec.sh
$ sh /tmp/tst_exec.sh
/tmp/tst_exec.sh: Permission denied
/tmp/install.dir.[nnnnn]/Linux/resource/jre/bin/java -version
/tmp/install.dir.[nnnnn]/Linux/resource/jre/bin/java: : Permission denied

Cause #1

/tmp mount point is mounted without execute permission for security reason (checks /etc/fstab with value noexec).
It is confirmed by tst_exec.sh that created above that it failed to run


Cause #2

A wrong installer for other OS is downloaded.  For Intel Linux, you should expect following output

$ file analytics-installer-3.6.46-linuxx86.bin
analytics-installer-3.6.46-linuxx86.bin: data

Following is expected for Intel x86 64-bit Linux
file /tmp/install.dir.*/Linux/resource/jre/bin/java
/tmp/install.dir.15939/Linux/resource/jre/bin/java: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped


Following is for PowerPC Linux, not Intel x86
$ file /tmp/install.dir.*/Linux/resource/jre/bin/java
/tmp/install.dir.15939/Linux/resource/jre/bin/java: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c07e00748dd7b5ca30b6feb0e2d7c911cec024d7, not stripped


Resolving the Problem

Option #1: Identify a directory that user is allow to run the installer program, i.e. java.  Specify Cognos installer OS environment variable IATEMPDIR to that location before execute the installer

$ export IATEMPDIR=~/tmp
$ analytics-installer-3.6.46-linuxx86.bin

Option #2: Coordinate with Linux SA to remove "noexec" from /etc/fstab, or provides another mount point that doesn't contain "noexec" security option. Assumes the mount point is called /tmp2, then set Cognos installer OS environment variable IATEMPDIR to that mount point before execute the installer

$ export IATEMPDIR=/tmp2
$ analytics-installer-3.6.46-linuxx86.bin

No comments: