Subject: | library fails to get passed into Makefile on Solaris, but not Darwin |
When trying to install GO-TermFinder 0.7 (http://search.cpan.org/dist/GO-TermFinder/) on Solaris (SunOS hypha 5.9 Generic_117171-17 sun4u sparc SUNW,Sun-Fire-V440), it complains during the 'perl Makefile.PL' stage about:
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lstdc++
Writing Makefile for GO::TermFinder::Native
Writing Makefile for GO-TermFinder
After doing a make, the make test then fails:
Can't load 'blib/arch/auto/GO/TermFinder/Native/Native.so' for module GO::TermFinder::Native: ld.so.1: /usr1/tools/perl/5.6.1/bin/perl: fatal: relocation error: file blib/arch/auto/GO/TermFinder/Native/Native.so: symbol cerr: referenced symbol not found at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 206.
at blib/lib/GO/TermFinder/Native.pm line 7
Carp::croak('Can\'t load \'blib/arch/auto/GO/TermFinder/Native/Native.so\' fo...') called at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 112
DynaLoader::croak('Can\'t load \'blib/arch/auto/GO/TermFinder/Native/Native.so\' fo...') called at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 206
DynaLoader::bootstrap('GO::TermFinder::Native') called at blib/lib/GO/TermFinder/Native.pm line 7
require GO/TermFinder/Native.pm called at blib/lib/GO/TermFinder.pm line 99
GO::TermFinder::BEGIN() called at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 0
eval {...} called at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 0
require GO/TermFinder.pm called at t/GO-TermFinder.t line 16
main::BEGIN() called at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 0
eval {...} called at /tools/perl/5.6.1/lib/5.6.1/sun4-solaris/DynaLoader.pm line 0
However, if I edit the native/Makefile after doing the perl Makefile.PL step, so that instead of:
LDLOADLIBS = -lm
it says:
LDLOADLIBS = -lm -lstdc++
it now seems to work.
On Darwin (OSX 10.3.7) there is no failure, and the LDLOADLIBS line generated in that file is:
LDLOADLIBS = -lm -lstdc++
Is this a bug, or should I make a change to the Makefile.PL?
Many thanks.