[bug-notifications] [perl 0003766]: XS modules should be compiled with -lperl
Mantis Bug Tracker
noreply at opencsw.org
Thu Aug 6 13:32:22 CEST 2009
A NOTE has been added to this issue.
======================================================================
http://www.opencsw.org/mantis/view.php?id=3766
======================================================================
Reported By: dam
Assigned To: bonivart
======================================================================
Project: perl
Issue ID: 3766
Category: packaging
Reproducibility: have not tried
Severity: minor
Priority: normal
Status: assigned
======================================================================
Date Submitted: 2009-07-13 15:18 CEST
Last Modified: 2009-08-06 13:32 CEST
======================================================================
Summary: XS modules should be compiled with -lperl
Description:
The XS modules provided by Perl should be compiled against libperl.
Otherwise symbols from Perl itself can't be found when dlopening libperl
and the xs-modules. This is described in detail at
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=327585#85>
======================================================================
----------------------------------------------------------------------
(0006520) dam (reporter) - 2009-08-06 13:32
http://www.opencsw.org/mantis/view.php?id=3766#c6520
----------------------------------------------------------------------
I inspected this closely and it has the same problem as before. The issue
is that the modules must be linked to libperl.so, similar to the perl
binary itself. The perl binary looks like this:
sol10u4-fusion# dump -Lv /opt/csw/bin/perl
/opt/csw/bin/perl:
**** DYNAMIC SECTION INFORMATION ****
.dynamic:
[INDEX] Tag Value
[1] NEEDED libperl.so.5.8.8
[2] NEEDED libsocket.so.1
[3] NEEDED libnsl.so.1
[4] NEEDED libdb-4.7.so
[5] NEEDED libdl.so.1
[6] NEEDED libm.so.1
[7] NEEDED libpthread.so.1
[8] NEEDED libc.so.1
[9] NEEDED libperl.so <-- Links to libperl.so
[10] INIT 0x8051de8
[11] FINI 0x8051e04
[12] RUNPATH
/opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/csw/lib/perl/5.8.8/CORE
[13] RPATH
/opt/csw/lib/$ISALIST:/opt/csw/lib:/opt/csw/lib/perl/5.8.8/CORE
[14] HASH 0x8050118
[15] STRTAB 0x8050838
...
This is how the Perl module I use looks like right now:
sol10u4-fusion# dump -Lv /opt/csw/lib/perl/5.8.8/auto/POSIX/POSIX.so
/opt/csw/lib/perl/5.8.8/auto/POSIX/POSIX.so:
**** DYNAMIC SECTION INFORMATION ****
.dynamic:
[INDEX] Tag Value
[1] NEEDED libm.so.1 <-- Does not link to libperl.so
inducing missing symbols due to RTLD
[2] INIT 0x15ec4
[3] FINI 0x15ee0
[4] RUNPATH /opt/csw/lib/$ISALIST:/opt/csw/lib
[5] RPATH /opt/csw/lib/$ISALIST:/opt/csw/lib
[6] HASH 0xc4
Somehow the -lperl is still missing when compiling the modules. Maybe this
must be added to LDFLAGS?
More information about the bug-notifications
mailing list