The /usr/local/lib/libparrot.dylib says where the library should be.
Considering Apple choose to have shared library paths hard coded into
the executable, I'm not sure how they really handle DYLD_LIBRARY_PATH
to load the proper library. I haven't yet looked into which library
darwin uses, the blib/lib or $prefix/lib one if both are present.
On Feb 21, 2006, at 3:29 AM, Joshua Hoblitt wrote:
I don't believe that this is the correct solution. The 'parrot' binary
needs to be linked to the correct library. Currently it's being linked
against /usr/local/lib/libparrot.dylib instead of
blib/lib/libparrot.dylib. For some reason it does this even when
blib/lib is specific to be searched first:
$ c++ -o parrot -L/Users/jhoblitt/parrot/blib/lib -L/usr/local/lib \
compilers/imcc/main.o -lparrot -lm -lreadline \
src/parrot_config.o
$ otool -L parrot
parrot:
/usr/local/lib/libparrot.dylib (compatibility version 0.0.0,
current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0,
current version 88.1.2)
/usr/lib/libedit.2.dylib (compatibility version 2.0.0, current
version 2.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0,
current version 7.3.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0,
current version 1.0.0)
/usr/lib/libmx.A.dylib (compatibility version 1.0.0, current
version 92.0.0)
The fix is to figure out how to make the linker behave.
-J
--