Getting GroupWise to work on 64-bit Ubuntu
I recently switched one of my machines to Ubuntu 7.10 64-bit edition. I use 64-bit Linux on my desktop so I can run VMware Server and use 64-bit guest machines.
We use GroupWise for email and calendaring, and I’ve never had anything but brutal performance out of Evolution in my GroupWise account so I decided I wanted to use the real GroupWise client. Unfortunately, it’s a 32-bit rpm package built for SLED and there’s no deb package of it, and no 64-bit build.
To get it working on 64-bit Ubuntu took a few steps. First, I needed a deb package, and GroupWise comes as an rpm, so I installed “alien” which is a utility that can convert between package formats.
sudo apt-get install alien
I tried using alien on my 64-bit machine to convert the rpm to a deb like this:
sudo alien -c novell-groupwise-client-7.0.2-20060607.rpm
This resulted in a “wrong architecture” error like this:
dpkg-gencontrol: error: current build architecture amd64
does not appear in package's list (i386)
Since I couldn’t figure out how to make alien try to build an i386 deb package on my x64 machine in 30 seconds, I gave up, used scp to copy the rpm file to the i386 machine next to me in my office, and used alien on it to convert the rpm to a 32-bit deb package. Then I copied the resulting deb package back to the 64-bit machine.
Next, I knew I needed a 32-bit Java environment for the GroupWise client. Ubuntu has a lot of 32-bit packages built for the 64-bit platform under the deb package moniker of ia32-xxx.deb. The 32-bit java package I needed was ia32-sun-java6-bin, which provides a 32-bit java6 jre.
sudo apt-get install ia32-sun-java6-bin
Next, I tried installing the GroupWise deb I created before using dpkg:
sudo dpkg -i novell-groupwise-client-7.0.2-20060607.deb
The install failed complaining of missing libraries libstdc++5, libasound2 and libgcc1. I removed GroupWise, installed the dependencies, and reinstalled GroupWise. This time it installed.
sudo apt-get remove novell-groupwise-client
sudo apt-get install libstdc++5 libasound2 libgcc1
sudo apt-get install novell-groupwise-client-7.0.2-20060607.deb
After that, I had to change the jre that GroupWise comes with for the official Sun jre I installed earlier. To do that, I just went like this:
sudo rm -r /opt/novell/groupwise/client/jre
sudo ln -s /usr/lib/jvm/ia32-java-6-sun/jre \
The next step was to try running the client using
/opt/novell/groupwise/client/bin/groupwise.sh which of course failed. This time the error message indicated a missing library ksuperwin.so and some libgtk and libglib components. Some googling indicated that I needed libglib1.2 and libgtk1.2. Remembering this is a 32-bit application meant I needed the 32-bit versions of these libraries. Unfortunately, there are no ia32 packages of libgtk1.2 or libglib1.2 in the Ubuntu 64-bit repositories.
I saved the two deb files locally, and then unpacked them into a temporary directory and copied the libraries to the 32-bit library directory.
dpkg -X libglib1.2_1.2.10-17build1_i386.deb temp
dpkg -X libgtk1.2_1.2.10-18_i386.deb
sudo cp temp/usr/lib/* /usr/lib32/
At that point, all the library dependencies were settled, and I was able to run GroupWise without problems. To get a GroupWise icon on my desktop, I just copied the .desktop file to the ~/Desktop folder:
cp /opt/novell/groupwise/client/gwclient.desktop ~/Desktop/
Good luck if you are trying this yourself.