$VERSION = '6.17'
When I build perl with "make perl" it seems that the library path is
not used in the binary. That is LD_RUN_PATH is set when building the
module, but not when running "make perl".
In my Makefile.PL I'm doing this to get library and include file
locations:
$config{LIBS} = `swish-config --cflags`;
$config{INC} = `swish-config --libs`;
Which works fine -- for example if the library is installed in a
non-standard location:
$ $HOME/swtest/bin/swish-config --libs --cflags
-L/home/moseley/swtest/lib -lswish-e -lz -lm
-g -O2 -I/home/moseley/swtest/include
Then if I make the module (just run "make") and look at the run-time
paths they are where I'd expect:
$ ldd blib/arch/auto/SWISH/API/API.so | grep libswish
libswish-e.so.2 => /home/moseley/swtest/lib/libswish-e.so.2 (0x40018000)
But, if I run make perl then the run-time path is different.
$ make perl
$ ldd ./perl | grep libswish
libswish-e.so.2 => /usr/local/lib/libswish-e.so.2 (0x40027000)
The build line used for "make" is:
LD_RUN_PATH="/home/moseley/swtest/lib" cc -shared -L/usr/local/lib API.o -o
blib/arch/auto/SWISH/API/API.so -L/home/moseley/swtest/lib -lswish-e -lz -lm
But when running "make perl" I see:
cc -L/usr/local/lib -Wl,-E -o perl -O2 ./perlmain.o API.o
blib/arch/auto/SWISH/API/API.a /usr/lib/libperl.a `cat
blib/arch/auto/SWISH/API/extralibs.all` -ldl -lm -lpthread -lc -lcrypt
So it seems like LD_RUN_PATH is not being set on "make perl".
Another minor note -- not sure why this is being reported:
$ perl Makefile.PL>/dev/null && make perl>/dev/null
WARNING: DIR takes a array reference not a string/number.
Please inform the author.
$ fgrep DIR Makefile.PL | fgrep '=>'
DIR => [],
l$ fgrep DIR Makefile.aperl | grep '=>'
# DIR => q[]
Maybe I don't need to specify an empty DIR (seems like I used to).
Regardless, that doesn't make the warning go away. Maybe I've got
something else setup wrong.
Here's the Makefile.PL, if needed:
http://cvs.sourceforge.net/viewcvs.py/*checkout*/swishe/swish-e/perl/Makefile.PL?rev=1.15
--
Bill Moseley
[EMAIL PROTECTED]