[Techtalk] Installation Help Needed for Pan
Mandi
mandi at linuxchick.org
Mon Oct 20 18:18:00 EST 2003
Hiya, Chiq.
welcome to the land of the linker.
>
> pan: error while loading shared libraries: libgtkspell.so.0: cannot open
> shared object file: No such file or directory
>
> Odd because a whereis shows this:
>
> libgtkspell.so: /usr/local/lib/libgtkspell.so.0
> /usr/local/lib/libgtkspell.so
you're right in stating that pan can't find your file libgtkspell.so.0.
The utility for finding out why is ldd.
ldd looks for the shared libraries on your system. The way to use it is
to point it at your executable (on my example system):
$ which pan
/usr/bin/pan
$ ldd /usr/bin/pan
libgnomeui.so.32 => /usr/lib/libgnomeui.so.32 (0x40029000)
libart_lgpl.so.2 => /usr/lib/libart_lgpl.so.2 (0x40110000)
libgdk_imlib.so.1 => /usr/lib/libgdk_imlib.so.1 (0x40121000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40148000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40151000)
libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x40168000)
libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x402ab000)
...
pan has a gazillion different libraries it's utilizing, so that's just a
partial list. eventually, you should come to a listing that mentions
libgtkspell, and it will have an error message next to it that the file is
not found (example from another program...):
$ ldd uvscan
liblnxfv.so.4 => ./liblnxfv.so.4 (0x40016000)
libstdc++.so.2.8 => not found
What your problem could be is that ldd doesn't know about the directory
/usr/local/lib. There is a file, ld.so.conf, usually in /etc, that you
can add that directory to. It's just a list of directories that contain
shared library files:
$ cat /etc/ld.so.conf
/usr/X11R6/lib
/usr/lib/qt2/lib
/usr/local/lib
/usr/lib/mysql
Usually /lib and /usr/lib are included by default and don't get listed in
ld.so.conf. You should add the directory /usr/local/lib to the file and
then run the program "ldconfig", which will create a cache file that lets
ldd find shared libraries.
When you do that, see if "ldd /usr/bin/pan" finds all the libraries it's
looking for.
hope that helps. generally, rpms are supposed to go looking for those
libraries for you, and pan wouldn't have installed without some fussing
about the hand-built gtkspell. but that's another battle.
--mandi
More information about the Techtalk
mailing list