Ken Williams wrote:
> Hi,
>
> Me again. I'm working on a group of modules that create Inline
> interfaces to a certain library (libnode.a). Each module seems to build
> fine by itself, but then when I load two such modules in the same file,
> I get errors like this:
>
> dyld: /usr/bin/perl multiple definitions of symbol _HASH_FUNC
> blib/arch/auto/AI/NodeLib/NodeLib.bundle definition of _HASH_FUNC
> blib/arch/auto/AI/NodeLib/DataSet/DataSet.bundle definition of _HASH_FUNC
>
> So, I conclude that both modules have linked statically against
> libnode.a, and when they're loaded into the same memory space there's a
> conflict. Right?
>
> I'm sort of in unfamiliar territory here, so I'm not sure how to
> properly handle this. It seems like maybe the right solution is for
> each module to load libnode.a dynamically. Right? Is this what
> DynaLoader is for, and if so, what's proper DynaLoader technique in this
> situation?
I think you have come across an OSX specific problem. Somewhere on the
net there was some info how to set dyld so that it is more permissive.
Found the link, it has a modified dyld you might want to try.
http://www.lehigh.edu/~sol0/Macintosh/X/ptk/dyld-tk/
Christian