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)
Ubuntu 10.04 Desktop x86_64 (64-bit)
Ubuntu 10.04 Server x86_64 (64-bit)
Ubuntu 10.04 Desktop i386 (32-bit)
- libmotif3
- linux-headers-* (see note above for confirming correct package)
- libstdc++5
- autofs
- nfs-common
- 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)
- libmotif3
- linux-headers-* (see note above for confirming correct package)
- libstdc++5
- autofs
- nfs-common
- nfs-kernel-server
- 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)
- libmotif3
- linux-headers-* (see note above for confirming correct package)
- libstdc++5
- autofs
- nfs-common
- nfs-kernel-server
- ia32-libs
- gcc
- make
- 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
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21462179