Subject: | enhancement for ExtUtils::Liblist - LD_RUN_PATH |
I have M/MS/MSCHWERN/ExtUtils-MakeMaker-6.05.tar.gz on a perl-5.8.0
with ihreads and shared libperl compiled with Forte 6.2 running on
Solaris 7/Sparc.
When building Perl XS modules, the Makefile often contains a line
LD_RUN_PATH = <some-path>
It is true that this path contains some of the required libraries,
but these sometimes are only *.a, i.e. static libs, such that
LD_RUN_PATH (or -rpath, or -R on the various platforms) with this
path does not make sense - it could even lead to errors if one day
a *.so appears in there (potentially). Therefore I propose the following
patch to ExtUtils::Liblist::Kid:
--- Kid.pm.old 2003-05-16 17:01:59.000000000 +0200
+++ Kid.pm 2003-05-16 17:02:08.000000000 +0200
@@ -148,7 +148,7 @@
warn "'-l$thislib' found at $fullname\n" if $verbose;
my($fullnamedir) = dirname($fullname);
push @ld_run_path, $fullnamedir
- unless $ld_run_path_seen{$fullnamedir}++;
+ unless($fullname =~ /$Config_libext$/o || $ld_run_path_seen{$fullnamedir}++);
push @libs, $fullname unless $libs_seen{$fullname}++;
$found++;
$found_lib++;
I believe this should do the right thing, even if there are multiple
libs in the same path, and one is a *.a and the other *.so
What do you think? By the way, where can I find the 6.10_* versions
of this package? Will they ever appear on CPAN?
Cheers,
Marek