HCL Connections UpdateInstaller Fails When /tmp Is Non-Executable
A while ago, I wrote about a problem I encountered while installing an HCL Connections fix on top of a CR release. In that case, the issue was caused by an incorrectly configured WAS_HOME variable. The solution was to source the setupCmdLine.sh script from the WebSphere profile’s bin directory so that the required environment variables were set correctly.
Recently, I ran into a different issue that initially looked similar but had a completely different root cause.
The Problem
Many organizations now mount the /tmp directory with the noexec option for security reasons. This prevents executables from being run directly from /tmp.
The HCL Connections Update Installer uses /tmp by default to unpack and execute files during a fix installation. When /tmp is mounted as non-executable, the installation fails.
The first symptom is usually a message indicating that a log file does not exist or could not be created. The installation log itself does exist, but it contains very little useful information. For example:
Notification: Null
IBM WebSphere Portal EFix Activity Log
=========================================================
Installer Version : 8.0.0.0_CR_15
Installer Date : 08/21/2026
=========================================================
...
=========================================================
TMP Directory : /tmp
=========================================================
...
Installing Components ...
Notification: Null
Notification: Null
...
The key indicator is the repeated:
Notification: Null
messages.
Under normal circumstances, you would expect output similar to:
Notification: Task 1 out of 3; End ...
Notification: Task 2 out of 3; Begin ...
Instead, the installer silently fails while attempting to execute files from the temporary directory.
The Solution
The fix is to instruct the installer to use a different temporary directory that allows execution of files.
This can be done by setting the Java temporary directory through the IBM_JAVA_OPTIONS environment variable:
export IBM_JAVA_OPTIONS="-Djava.io.tmpdir=<executable-directory>"
For example:
mkdir -p /opt/HCL/Connections/javatmp
export IBM_JAVA_OPTIONS="-Djava.io.tmpdir=/opt/HCL/Connections/javatmp"
After setting the variable and rerunning the installation, the fix installed successfully.
Making the Change Permanent
If you regularly install HCL Connections fixes on the server, you may want to make this setting permanent by adding it to the account’s ~/.bashrc file:
echo 'export IBM_JAVA_OPTIONS="-Djava.io.tmpdir=/opt/HCL/Connections/javatmp"' >> ~/.bashrc
source ~/.bashrc
This ensures the variable is set automatically whenever you start a new shell session, eliminating the need to export it manually before running the Update Installer.
Note: Only do this if the alternate temporary directory is intended to be the default for all Java processes started by that user. If you prefer a more targeted approach, export the variable only for the Update Installer session.
Conclusion
If the HCL Connections Update Installer fails with repeated Notification: Null messages and appears unable to create or update its log files, check whether /tmp is mounted with the noexec option.
In environments where executing files from /tmp is prohibited, configuring an alternative temporary directory using IBM_JAVA_OPTIONS can resolve the issue and allow the update to complete successfully.
