IBM Support

Configuration requirements to run ClearCase on Ubuntu 10.04 Linux

Question & Answer


Question

How do you configure an Ubuntu 10.04 system in order to install IBM Rational ClearCase?

Cause


ClearCase requires some system packages which are not available by default on the Ubuntu 10.04 system. The packages must be installed before you install and configure ClearCase.

Answer

Note: This information is specific to the Ubuntu 10.04 LTS system.

The set of packages that must be installed depends on the system architecture (i386 or x86_64) and on the Ubuntu version (Desktop or Server). Ubuntu documentation sometimes refers to the x86_64 platform as AMD64. For each of these configurations, use the following procedure to install the packages before installing ClearCase.

Note: In order to determine which Ubuntu system packages are currently installed on the system, use the command dpkg --get-selections to list all of the packages. You will not need to reinstall any of the packages listed here if they are already installed on the system in question.



Ubuntu 10.04 Desktop i386 (32-bit)

  1. libmotif3
  2. linux-headers-* (see note above for confirming correct package)
  3. libstdc++5
  4. autofs
  5. nfs-common
  6. nfs-kernel-server

The linux-headers-* package name must match the actual running kernel type; for example linux-headers-generic, or linux-headers-virtual. linux-headers-generic is the default for the Desktop kernel. To check the type of the running kernel, open a terminal and type:


# uname -r


If the version is something other than generic, you will need to modify the apt-get command shown below as appropriate.


Package libstdc++5 is no longer shipped with Ubuntu 10.04. The version from Ubuntu 9.04 can be used instead. A sample shell script to install libstdc++5 is shown below.

Assuming that the script is located in the current working directory, all these packages and their respective dependencies can be installed by running the following two commands in a terminal session:


# sudo apt-get install libmotif3 linux-headers-generic autofs nfs-common nfs-kernel-server

# ./install_lib5






Ubuntu 10.04 Desktop x86_64 (64-bit)

  1. libmotif3
  2. linux-headers-* (see note above for confirming correct package)
  3. libstdc++5
  4. autofs
  5. nfs-common
  6. nfs-kernel-server
  7. ia32-libs

The linux-headers-* package name must match the actual running kernel type; for example linux-headers-generic, or linux-headers-virtual. linux-headers-generic is the default for the Desktop kernel. To check the type of the running kernel, open a terminal and type:


# uname -r


If the version is something other than generic, you will need to modify the apt-get command shown below as appropriate.

In addition to the packages that are required for the 32-bit version, the 64-bit architecture requires the ia32-libs package. An additional configuration step is also necessary. This is because ClearCase tools are 32-bit and the graphic tools require libmotif3 support. However, Ubuntu repositories do not have 32-bit libmotif3 for 64-bit systems. A workaround is to extract the 32-bit libraries directly from the 32-bit native package. A shell script to implement this workaround is shown below. Assuming that the scripts are located in the current working directory, the package installation can be done using three commands:




# sudo apt-get install libmotif3 linux-headers-generic autofs nfs-common nfs-kernel-server ia32-libs

# ./install_lib5

# ./extract-motif32





Ubuntu 10.04 Server x86_64 (64-bit)

  1. libmotif3
  2. linux-headers-* (see note above for confirming correct package)
  3. libstdc++5
  4. autofs
  5. nfs-common
  6. nfs-kernel-server
  7. ia32-libs
  8. gcc
  9. make
  10. Xorg

In addition to the packages required by the Desktop system, the Server system requires the gcc, make and Xorg packages. Gcc and make are required to rebuild the MVFS kernel module. Xorg is required for the graphical tools such as xclearcase and xcleardiff.

The linux-headers-* package name must match the actual running kernel type; for example linux-headers-generic, or linux-headers-virtual. linux-headers-generic is the default for the Desktop kernel. To check the type of the running kernel, open a terminal and type:




# uname -r


If the version is something other than generic, you will need to modify the apt-get command shown below as appropriate.

In addition to the packages that are required for the 32-bit version, the 64-bit architecture requires the ia32-libs package. An additional configuration step is also necessary. This is because ClearCase tools are 32-bit and the graphic tools require libmotif3 support. However, Ubuntu repositories do not have 32-bit libmotif3 for 64-bit systems. A workaround is to extract the 32-bit libraries directly from the 32-bit native package. A shell script to implement this workaround is shown below. Assuming that the scripts are located in the current working directory, the package installation can be done using three commands:


# sudo apt-get install libmotif3 linux-headers-server autofs nfs-common nfs-kernel-server ia32-libs gcc make Xorg

# ./install_lib5

# ./extract-motif32




Sample install_lib5 script

Note: This script does not simply use the default installation methods of dget because that will not work properly on 64-bit platforms. On 64-bit platforms, 32-bit libraries need be installed in /usr/lib32 to prevent them from interfering with the 64-bit versions of the same libraries. Default installation would put both 32-bit and 64-bit libraries in /usr/lib. This method also avoids the need to load additional packages just to resolve dependencies of libstdc++5 that ClearCase does not share.


#!/bin/sh

TMP_DIR=/tmp/install_libstdc++5.$$
PKG64LIB=libstdc++5_3.3.6-15ubuntu4_amd64.deb
PKG32LIB=libstdc++5_3.3.6-15ubuntu4_i386.deb
REPO=http://mirrors.kernel.org/ubuntu
SUDO=sudo

echo Installing libstdc++5
mkdir ${TMP_DIR}

# as libstdc++5 is not available for Lucid, we will have to download it
# from Jaunty
# I'm not just "dpkg -i" because it would create a lot of dep failures.
echo "Downloading ${PKG32LIB}"
cd ${TMP_DIR} && wget ${REPO}/pool/universe/g/gcc-3.3/${PKG32LIB}
if [ $? -ne 0 ] ; then
        echo "Error downloading ${PKG32LIB}"
        exit -2
fi

if [ "`uname -m`" = "x86_64" ] ; then
        DST=/usr/lib32
else
        DST=/usr/lib
fi

dpkg-deb -x ${PKG32LIB} ${TMP_DIR}
if [ $? -ne 0 ] ; then

        echo "Error extracting libraries from package"
        exit -3
fi

${SUDO} mv -i ${TMP_DIR}/usr/lib/lib*.so* ${DST}
if [ $? -eq 0 ] ; then
        echo "lib installed"
        ${SUDO} ldconfig
else
        echo "Error moving lib to ${DST}"
fi

echo "Removing temporary directory"
rm ${TMP_DIR} -fr


Sample extract-motif32 script

#!/bin/sh

if [ "`uname -m`" != "x86_64" ] ; then
        echo "This is only needed for 64 bits systems."
        exit -1
fi

echo Installing 32 bits libraries...

# compatibility libraries
sudo apt-get install ia32-libs
TMP_DIR=/tmp/install_libmotif3_32_bits.$$
MOTIF3LIB=libmotif3_2.2.3-2_i386.deb
REPO=http://mirrors.kernel.org/ubuntu

# compatibility libraries
sudo apt-get install ia32-libs
mkdir ${TMP_DIR}

# Install the 32 bits version - because there is no 32 bits
# compatibility package, we need to use the library from the native
# 32 bits package.
# Note: The 32 bits lib will not be updated/upgraded automatically.
cd ${TMP_DIR} && wget ${REPO}/pool/multiverse/o/openmotif/${MOTIF3LIB}
if [ $? -ne 0 ] ; then
        echo "Error downloading ${MOTIF3LIB}"
        exit -2
fi

dpkg-deb -x ${MOTIF3LIB} ${TMP_DIR}
if [ $? -ne 0 ] ; then
        echo "Error extracting libraries from package"
        exit -3
fi

ls ${TMP_DIR}/usr/lib/lib*.so*

sudo mv -i ${TMP_DIR}/usr/lib/lib*.so* /usr/lib32

if [ $? -eq 0 ] ; then
        echo "32 bits motif installed"
        sudo ldconfig
else
        echo "Error moving libraries"
fi

echo "Removing temporary directory"
rm ${TMP_DIR} -fr


[{"Product":{"code":"SSSH27","label":"Rational ClearCase"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Operating System Configurations","Platform":[{"code":"PF016","label":"Linux"}],"Version":"7.1.2.2;8.0;8.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
16 June 2018

UID

swg21462179