[Date Prev][Date Next]
compiling and berkeley db
i'm hoping tha t someone can shed some light on this because i've never
had this problem before.
i'm compiling openldap on a solaris 8 box using gcc 2.95. it requires
berkeley db 3 and of course berkeley db's always install into weird
places, in this case the package i snagged installed into
/usr/local/BerkeleyDB.3.0. so in order for ./configure to find the
libraries i had to do this:
# export LDFLAGS="-L/usr/local/BerkeleyDB.3.0/lib"
# export CPPFLAGS="-I/usr/local/BerkeleyDB.3.0/include
it all compiled fine, however now when i go to run the program it gives
ld.so.1: /usr/local/libexec/slapd: fatal: libdb-3.0.so: open failed: No such file or directory
and you can see that it can't find it:
sunlab(root)# ldd /usr/local/libexec/slapd
libdb-3.0.so => (file not found)
i suppose i can set some environment variable (LD_PATH or something
right?) in the script that starts slapd but that's kinda messed up, or i
can link libdb-3.0.so into /usr/lib but that's an accident waiting to
happen (though it's what i'm doing right now and solves the problem).
so the only other solution i can find is to pass "-R" to ld in the
makefile. this seems like the correct solution but i've never had to do
this before when compiling stuff using libraries in non-standard
locations. is this a deliberate choice of how openldap is setup or is
this an oddness of my setup?
in either case if it's not a bug what's the recommended solution?