I've compile and installed a library at /usr/local/lib/libapp2.so -> libapp2.so.1.4.3. How do I set the Library path under Linux operating systems?
You need to use ldconfig config file and ldconfig command which creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories such as /lib64 or /usr/lib64 (/lib or /usr/lib on 32 bit systems). The /etc/ld.so.conf contains lib settings which can be used to add or delete paths. However, you need to simply drop your config file in /etc/ld.so.conf.d/ directory and it will be used by /sbin/ldconfig to configure dynamic linker run time bindings.
You need to use ldconfig config file and ldconfig command which creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line, in the file /etc/ld.so.conf, and in the trusted directories such as /lib64 or /usr/lib64 (/lib or /usr/lib on 32 bit systems). The /etc/ld.so.conf contains lib settings which can be used to add or delete paths. However, you need to simply drop your config file in /etc/ld.so.conf.d/ directory and it will be used by /sbin/ldconfig to configure dynamic linker run time bindings.
Add Your Path
Create a file called /etc/ld.so.conf.d/myapp.conf:
Add the following path:
# vi /etc/ld.so.conf.d/myapp.confAdd the following path:
/usr/local/lib
Save and close the file.
Activate Your Library Path
You must run the following command to activate path:
# ldconfigVerify Your New Library Path
# ldconfig -v | lessOR
# ldconfig -v | grep /usr/local/libSample outputs:
/usr/local/lib:
libGeoIP.so.1 -> libGeoIP.so.1.4.6
libGeoIPUpdate.so.0 -> libGeoIPUpdate.so.0.0.0
/usr/lib64/mysql:
libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0
libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
/lib:
libutil.so.1 -> libutil-2.5.so
How Do I Delete The Library Path?
Simply, delete the file:
# rm /etc/ld.so.conf.d/myapp.conf
# ldconfigHow Do I Edit The Library Path?
Simply edit the file and reload the changes:
# vi /etc/ld.so.conf.d/myapp.conf
# ldconfigHow Do I Compile Program With Shared Libs And GNU GCC?
You can use the following gcc
See gcc man page for further details.
$ gcc -Wl,-R/path/to/lib -I/path/to/include -L/path/to/lib -o myAppName mycode.c -llibapp2See gcc man page for further details.
Further readings:
man ldconfig
man ld
man gcc
No comments:
Post a Comment