Linux can sometimes be every bit as obscure as Windows. Thankfully we have our own hacker community too. There was a new release of Slackware (my preferred Linux distro) and the GNOME desktop for it, so I performed a full, automatic upgrade. In the process, at least one package was left out and it caused my clock to go poof.
This was the error message that was displayed:
The panel encountered a problem while loading "OAFIID:GNOME_ClockApplet". Do you want to delete the applet from your configuration?
Hmm. Most of the people who reported this issue had uninstalled part of the Evolution mail program but that was not my problem. Someone on the SUSE (LQ) forums signed up and posted exactly once. That post held a couple of great hints for how to track down my problem.
It seems that GNOME panel applets have configuration files that end in “.server,” so to find those in Slackware I could issue:
grep '\.server$' /var/log/packages/*
All the .server files were under /usr/lib/bonobo/servers/ and the exact file name that I wanted turned out to be “GNOME_ClockApplet_Factory.server.” From there we want the location of the binary (program) that is displayed on the panel (this is three lines, the command and two results):
grep location /usr/lib/bonobo/servers/GNOME_ClockApplet_Factory.servern location="/usr/libexec/clock-applet">
location="OAFIID:GNOME_ClockApplet_Factory">
/usr/libexec/clock-applet – aha. Now we can find out which library (similar to a DLL, for you Windows users) the clock applet is missing:
ldd /usr/libexec/clock-applet|grep 'not found'
libeggdbus-1.so.0 => not foundn libeggdbus-1.so.0 => not found
libeggdbus? That turns out to be the DBus bindings for GObject. What a name… anyway, after I installed the eggdbus package, my clock works again. Yay!