PrintLogo

Using Ldconfig To Set Library Locations




Gozer needs libgiblib to work right. I like to install strange libraries like this into /usr/local/lib. I put all of the source into /usr/local/src that isn't part of the main RPM system. Even when I compiled and installed giblib, though, it wouldn't work right:

[usr-1@srv-1 ~]$ gozer
gozer: error while loading shared libraries: libgiblib.so.1: 
cannot open shared object file: No such file or directory
[usr-1@srv-1 ~]$ ls /usr/local/lib/lib*
/usr/local/lib/libgiblib.a   /usr/local/lib/libgiblib.so.1
/usr/local/lib/libgiblib.la  /usr/local/lib/libgiblib.so.1.0.6
/usr/local/lib/libgiblib.so
[usr-1@srv-1 ~]$ 

The trick is to use ldconfig. Just add paths to /etc/ld.so.conf for anything you like, then run /sbin/ldconfig:

[root@srv-1 etc]# /sbin/ldconfig

-v will show you what libraries your system is aware of:

[root@srv-1 etc]# /sbin/ldconfig -v | grep gib
libgiblib.so.1 -> libgiblib.so.1.0.6
[root@srv-1 etc]#

Gozer works now:

[root@srv-1 etc]# gozer
gozer warning: no output file specified
Usage: gozer [OPTIONS] file
Use gozer --help for detailed usage information
[root@srv-1 etc]#





This article comes from NetAdminTools:
http://www.netadmintools.com/

The URL for this story is:
http://www.netadmintools.com/art410.html

Copyright 1997-2008 NetAdminTools.com. Read our Terms of Use.