Wednesday, August 3, 2011

Configuring Linux for the Notes API

Recently, while installing/running some test Java applications, we came across the following error:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: lsxbe (Not found in java.library.path)
This was on a box running SUSE Linux Enterprise Server 11 SP1, with Lotus Notes installed as well as the Java 1.6 Runtime Environment.

Running 'echo $PATH' showed that while the Java Runtime Environment was in our system/environment path, none of the Notes directories were. To do this we needed to add to the default path that SUSE provides each user. This is controlled in a few places, but, the safest place to make adjustments is inside the .bash_profile file (located in the users home folder, create this file if it doesn't already exist).

Here's how it looked after we created and added to it:
PATH=$PATH:/opt/ibm/lotus/notes
PATH=$PATH:/opt/ibm/lotus/notes/jvm/lib/ext
export PATH
After restarting our shell and running 'echo $PATH' we can see the new additions to our users path. Running the application gave us the same error as above, so we hadn't fixed it yet. After investigating more into Lotus Notes, we found some more things that needed to be added to our path.

Here's .bash_profile with our new changes:
PATH=$PATH:/opt/ibm/lotus/notes
PATH=$PATH:/opt/ibm/lotus/notes/jvm/lib/ext
PATH=$PATH:$NOTES_HOME
export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ibm/lotus/notes
export LD_LIBRARY_PATH

After restarting our shell, the test application ran fine, and the exception above was gone. This was all done as the root user, to push this file to other users profiles, use this command from your home folder:
cp ~/.bash_profile /home/{username of the user}
Just replace after /home/ with the user name of the user to push the changes to.

No comments: