Ketan's Musings

Where he blogs about his eclipse musings

Musings on installing Lotus Notes 7.0

with 3 comments

The Important Disclaimer: ALL VIEWS POSTED IN THIS PARTICULAR ENTRY ARE THAT OF MY OWN AND DO NOT (NECESSARILY) REFLECT THE OPINIONS OF MY EMPLOYER.

That said, this is in addition to a HOWTO on installing the Lotus Notes 7.0 Client on Ubuntu.

I’d rather that a very popular lotus notes fan tell you more on why lotus notes is a great tool! What I focus here is on some inside stuff that I figured while installing the lotus notes client on my laptop. Stuff that could have possibly been done in a far better way.

I did this merely as an “educational exercise” to understand if it would be possible to fool the installer into thinking that all is fine, so that it can go ahead installing lotus notes. To give you a brief about how the installer works:

The installer is a statically linked binary that extracts a jvm and an installer jar with some parameters, and then deletes the jvm and the jar on finishing. When the installer was running, I copied the jar to another location, extracted it, decompiled the classes inside. A quick grep on the error message, and I got to the java class where the installer “detects” the mozilla version (and fails).

Here are some things that the installer was doing in more or less the same order:
1. Check the existence of /etc/gre.conf or /etc/gre.d/gre.conf
2. Read the file, and check that there’s a line of the form [majorVersion.minorVersion.patchNumber]
3. Verify that majorVersion.minorVersion > 1.4
4. Find out where GRE_PATH for this particular version points (this is the directory where mozilla resides, in my case /usr/lib/mozilla)
5. Generate the following script:

#!/bin/sh
ldd "/usr/lib/mozilla/libgtkembedmoz.so" | grep gtk>&/tmp/iwcttmp.out #ldd prints shared library dependencies

6. Execute the script.
7. Read the file /tmp/iwcttmp.out.
8. Verify that it contains the string “libgtk-x11-2.0.so.0″ (WTH, one may say)
9. In case any of the above steps fail show the famous error message :)

Now here’s the glitch.
1. I’d got the right version of mozilla (1.7.13 which is > 1.4).
2. I had libmotif3 (as specified by a support page at IBM lotus notes).
3. I had got libgtk1.2 installed (as required by the installer)
4. I verified that libgtk-x11-2.0.so.0, really does exist (it did)

Having verified all the above, why did the script fail ?

I’ll tell you why :)
/bin/sh is linked to a minimalist shell called dash on Ubuntu. And the line ldd "/usr/lib/mozilla/libgtkembedmoz.so" | grep gtk>&/tmp/iwcttmp.out does not work with dash. Anyone heard about posix compliance ?

Now that is the reason why you need to uninstall dash, and install bash in order to get lotus notes 7.0 installed !

End of class.

Written by Ketan

March 8th, 2007 at 11:23 am