I am using the GNU automake tools for the build mechanism of my project. My
project is integrated as a subsystem into a telecom platform. My subsystem
has client and management libraries and on the platform side i do some host
adaptation and i will unarchive my standalone project and compile. I am
facing some problems with the linking of correct ldap library version to
my subsystem management library.
On the cluster(HP Proliant) that is commissioned with this telecom
platform, there are two versions of ldap library (libldap-2.3.so.0 is
present in /usr/lib64 and libldap-2.2.so.10 is present in /usr/local/lib64
directory). My subsystem management library always links to the ldap
library present in /usr/lib64 directory i.e. libldap-2.3.so.0 which is
wrong. Ideally the management libraries of all the subsystems must link to
the libldap-2.2.so.10 since this is the ldap library version provided by my
platform. The ldap library libldap-2.3.so.0 is provided by the OS and this
is needed by few rpm's.
On the other cluster(ATCA) that is commissioned with another release of
platform, there is only one version of ldap library (libldap-2.3.so.0 is
present in /usr/local/lib and /usr/lib does not contain any ldap library).
My subsystem management library links to the same ldap library present in
There are no major differences between these two releases of platform and i
guess that somewhere in my makefile /usr/lib is added as library path, so
it will always search in this path for the ldap library and then if it does
not find, searches for ldap library in the path /usr/local/lib. The libldap
library present in the path /usr/local/lib is the ldap library provided by
my platform and hence my management library must link to this library
always. Due to this wrong linking of ldap library to my management
library, applications that run on top my platform gets crashed.
So can you please suggest me how to avoid this behavior. I want my
management library to get linked to the ldap library present in
/usr/local/lib always. How do i achieve this ?