XCOM r11.6 upgrade to r12.0 fails on Linux
search cancel

XCOM r11.6 upgrade to r12.0 fails on Linux

book

Article ID: 280397

calendar_today

Updated On:

Products

XCOM Data Transport - Linux PC XCOM Data Transport

Issue/Introduction

Performed an upgrade of XCOM r11.6 to r12.0 on Linux. After the upgrade the xcomd daemon was not starting and failed with messages:

XCOMU0474E xcomd is already running. Multiple instances not supported.
XCOMU0466E Unable to create an index file for queue.

It was also noticed that the "$XCOM_HOME\q" directory was missing from the XCOM directory.

Environment

XCOM r12.0 for Linux

Cause

The "xcominstaller.log" file showed the following messages:

Installer has detected r11.6 SP01 64-bit was intalled but XCOM_HOME is blank on the system. Set XCOM_HOME correctly to upgrade to r12.0 SP00 64-bit. If using  a non-interactive shell, ensure /etc/profile is loaded in the current shell.

Even though command "echo $XCOM_HOME" showed the correct path to the XCOM install directory before performing an upgrade.

It was determined that the Installer checks for the $XCOM_HOME variable and it does so by reading the /tmp directory after a file is produced in that /tmp directory that contains the variable information. The Installer also uses the /tmp to extract utilities in order to process the installer actions. If the /tmp contents cannot be read or executed the install/upgrade will encounter problems such as this one.  

That led us to believe that one of the following is happening:

1. That the system does not have a /tmp directory defined or /tmp is read only.

2. That SELinux is enabled on the system and there are restrictions pertaining the /tmp directory, which was the scenario for this particular upgrade.

Resolution

To address this do one of the following:

1. If command sestatus or getenforce shows the SELinux mode is "enforcing", issue commands:
setenforce 0; sh XCOM.bin
This will change SELinux from "enforcing" to "permissive" mode to allow the Installer to use the /tmp directory and installer contents for the install/upgrade.
Then after the installation revert the mode to "enforcing" using: setenforce 1

2. Set a temporary variable before starting the upgrade. For example issue the following commands:
export IATEMPDIR=/logfs
echo $IATEMPDIR

So instead of using /tmp/ it will use /logfs/ as a temporary directory and SELinux should allow that.

Note: Please consult with the Linux System Administrator before taking any action.