After a little prodding around, I think the problem is that the dynops aren't build with the rpath. I don't know how "proper" the following patch is(i.e. linux doesn't seem to have a problem so either this is right or the other way is right), but it does the trick.

Index: config/gen/makefiles/dynoplibs_pl.in
===================================================================
--- config/gen/makefiles/dynoplibs_pl.in    (revision 18819)
+++ config/gen/makefiles/dynoplibs_pl.in    (working copy)
@@ -24,7 +24,7 @@
 # Config stuff
 our $CC = [EMAIL PROTECTED]@ -c];
 our $LD = [EMAIL PROTECTED]@];
-our $LDFLAGS = [EMAIL PROTECTED]@ @[EMAIL PROTECTED];
+our $LDFLAGS = [EMAIL PROTECTED]@ @ld_debug@ @[EMAIL PROTECTED];
 our $LD_LOAD_FLAGS = [EMAIL PROTECTED]@];
 our $PERL = [EMAIL PROTECTED]@];
 our $LOAD_EXT = [EMAIL PROTECTED]@];


On Jun 4, 2007, at 3:07 PM, chromatic wrote:

On Monday 04 June 2007 12:49:45 Mark Glines wrote:

(the LD_LIBRARY_PATH bit is required on freebsd so parrot can find
libparrot.so.)

The GNU linker supports a flag to mark a relocatable shared library. From my
Makefile:

         -Wl,-rpath=/home/chromatic/dev/parrot/blib/lib

I don't know which linker you use on FreeBSD, but is there a similar flag? If so, using it could clear up some of the dynamic loading problems (especially
for dynops and dynpmcs).

-- c


Reply via email to