p5-berkeleydb dyld problem

Cyril Bellot cbellot at sky.fr
Sun Jun 10 15:58:52 PDT 2007


markd at macports.org a écrit :
> The p5-berkeleydb port was way out of date at 0.26.  Looks like someone
> added db4 functionality to the portfile, but only version 0.27 and above
> support db4.  I just updated it to 0.31.  Please wait a few hours and do a
> selfupdate and that should work.

The new port builds correctly but the make test is still lost with
library location. I first thaught it was because of db44 installed too
on my system, but it's the same without it (tested on another system).

The bundle part of the port is build like this:
LD_RUN_PATH="/opt/local/lib" env MACOSX_DEPLOYMENT_TARGET=10.3 cc
-L/opt/local/lib -bundle -undefined dynamic_lookup -L/usr/local/lib
BerkeleyDB.o  -o blib/arch/auto/BerkeleyDB/BerkeleyDB.bundle     \
   -L/opt/local -ldb    \

I corrected the portfile with:
  BERKELEYDB_LIB=${prefix}/lib
But then it complains about db3 libraries which are present:

  BerkeleyDB needs compatible versions of libdb & db.h
        you have db.h version 4.3.29 and libdb version 3.3.11

I rebuilt the port with db3 uninstalled, I still get :

  dyld: lazy symbol binding failed: Symbol not found: _db_version
    Referenced from:
/opt/local/lib/perl5/vendor_perl/5.8.8/darwin-2level/auto/BerkeleyDB/BerkeleyDB.bundle
    Expected in: dynamic lookup

I looks like a problem in the perl dyloader...


Nb. db3 variant is still ok with the new port version.



More information about the macports-dev mailing list