So I had just sat down at my computer, with pizza, ready to relax, and clicked on Evolution expecting to read my email…. but alas, it fails to start. :-(
After running it from the CLI, I got the error:
(evolution-2.6:9203): camel-WARNING **: Failed to initialize NSS
And then evolution just quits. :-(
The Workaround
Undoubtably Ubuntu will release a fix for this ASAP. But for those of you who can’t go 5mins without email, here’s a workaround (in newbie-compatible instructions):
Open a terminal (Applications->Accessories->Terminal).
Type the command: (press enter at the end of it)
LD_LIBRARY_PATH=/usr/lib/firefox evolution
This will start evolution. Keep the terminal window open in the background – if you close it, it will close evolution. Just use this workaround until an update is released to fix this. :-)
WTF is happening?
For the technical readers, here’s what’s happening:
This problem is caused by the upgrade of firefox just recently (upgrade to 1.5.dfsg+1.5.0.10-0ubuntu0.6.06.1), and the problem is that the location of the NSS libraries have moved from /usr/lib to /usr/lib/firefox. Evolution requires the NSS libraries to provide support for SSL and other encryption technologies.
Here’s the bug entry from Ubuntu for this problem.
The command “LD_LIBRARY_PATH=/usr/lib/firefox evolution” works by tells evolution to look in the /usr/lib/firefox directory for the dynamic NSS libraries.
Today’s technical lesson
In case you are interested, LD_LIBRARY_PATH is an environmental variable that tells programs where to look for dynamic libraries. It can be configured in /etc/ld.so.conf. By default, it looks in /lib and /usr/lib. Many distros also specify /usr/local/lib. (Interestingly, I just checked, and it doesn’t appear that Ubuntu has this file created by default).
After making a change in it, you can run ‘ldconfig’ to update the library cache based on the new settings.