BerkeleyDB: dynamic linking

Russ Allbery rra at stanford.edu
Mon Jan 22 06:05:21 UTC 2001


(I didn't see a response to this one; apologies if this was already dealt
with a while back.)

Mirek Luc <mirecki at nask.pl> writes:

> I built INN test version with:
> --with-berkeleydb=/usr/local/BerkeleyDB.3.1
> But I installed BerkeleyDB as a dynamic library, shared object. So then ld
> couldn't find libdb in a runtime because there was neither proper 
> LD_RUN_PATH environment variable nor "-R" as a compile option (gcc). I
> took a look at Makefile.global and I think it cuould be fixed very simple:
> EXTSTORAGELIBS  = -ldb -R/usr/local/BerkeleyDB.3.1/lib
> Heath, what about it?

Unfortunately, -R isn't portable.  On Linux, for example, you have to set
LD_RUN_PATH rather than use -R.  Other operating systems need various
other tricks.  I don't know of any good general solution to this problem.
Does anyone have any bright ideas apart from making the user add -R or set
LD_RUN_PATH or do whatever else is needed on their system?

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the inn-workers mailing list