Thursday, January 21, 2010

Installing Lotus Quickr on Ubuntu Linux Server 9.10

The installation of Lotus Quickr Services for WebSphere Portal includes an installation of DB2. Installing Quickr on an out-of-the-box installation of Ubuntu will fail due to a missing C++ library. The DB2 service requires a standard C++ library in version 5. Ubuntu Linux 9.10 includes version 6 of that library. In order to install Quickr 8.1.1 on a Ubuntu 9.10 system, you have to manually install the required library from an older release. You can find the package in the Debian package repository
. Download the .deb file from the repository and install it by issuing the following command as superuser
dpkg -i libstdc++5_3.3.6-18_i386.deb
The next issue I stumbled upon was during the creation of the was profile. The default shell of Ubuntu Linux is /bin/sh which does not support arrays and therefore a call to wsadmin.sh during the profile creation fails. I found this blog entry that describes how to solve this. You have to unlink /bin/sh, link it to bash and do a reconfigure. Enter the following commands as superuser:
unlink /bin/sh
ln -s /bin/bash /bin/sh
or
dpkg-reconfigure dash
Finally, after the installation is complete, you have to change the default shell for the created DB2 instance user for Quickr (i.e. quickradm), which is set to /bin/sh. Using this shell won't properly initialize the db2 environment when running the db2profile script. You should change the shell to bash, otherwise commands like db2stop and db2start won't be accessible. To change the default shell, edit as superuser the file /etc/passwd, look for the quickr users (usually in the end), and change the /bin/sh to /bin/bash.

4 comments:

Anonymous said...

Reading through the linked blog post, aren't "dpkg-reconfigure" and the unlink/relink stuff actually two different approaches of dealing with this problem (the former being the decidedly less hacky one, IMO)?

And, really, instead of changing the links, IMO the right approach would be to just fix the offending websphere script -- if what you really want is bash, call bash, not sh.

G.Muecke said...

I'm not that deep in Linux, but right, the first one "replaces" sh with bash, the second one uses dash instead of bash. Doing all three works as well so it doesn't really matter as long as sh isn't used in the end.
Changing the wsadmin.sh script is not really a solution as it would has to be done during a running installation. Doing it before, the installation fails due to some sort of checksum error. Doing it afterwards is not an option as it is required during the automated profile creating during the installation.

Anonymous said...

Yeah, I really meant fixing as in getting the Lotus people to fix their code. Blindly expecting /bin/sh to behave like anything other than just plain sh is kind of broken by design.

G.Muecke said...

Thing is, if I'd open a PMR to address the issue to support and explain the details of the problem and mention "I'm using Ubuntu", they'd say "Ubuntu is not supported". And in RHEL od SLES bash seems to be standard shell so the problem will never occur on their supported system.
In other words the chances of getting this fixed in the product are next to 0.