[Pkg-openldap-devel] Bug#327585: Bug#327585: reopening
Steve Langasek
vorlon at debian.org
Mon Feb 4 04:51:19 UTC 2008
On Sun, Feb 03, 2008 at 05:47:01PM -0800, Russ Allbery wrote:
> > steve at spartacus:~$ sudo /etc/init.d/slapd start
> > Starting OpenLDAP: slapd - failed:
> > Error Can't load '/usr/lib/perl/5.8/auto/POSIX/POSIX.so' for module POSIX: /usr/lib/perl/5.8/auto/POSIX/POSIX.so: undefined symbol: PL_sig_name at /usr/lib/perl/5.8/XSLoader.pm line 70.
> > at /usr/lib/perl/5.8/POSIX.pm line 26
> > Compilation failed in require at /etc/perl/SampleLDAP.pm line 2.
> > BEGIN failed--compilation aborted at /etc/perl/SampleLDAP.pm line 2.
> > Compilation failed in require at (eval 2) line 1.
> > BEGIN failed--compilation aborted at (eval 2) line 1.
> > Can't call method "config" on an undefined value.
> Okay, thanks.
> I could have sworn that this wasn't happening with 2.3.30 or
> thereabouts... oh, I know what the difference is. I was testing on
> amd64. Right, now I understand.
> This is that problem that's caused by Perl modules not being linked with
> libperl on i386 (but not on any other architecture) and instead
> duplicating the symbols between perl and libperl and leaving them
> undefined in the modules. This works correctly if the modules are linked
> with libperl, which they are on amd64 and Debian's other architectures.
> You're right, this isn't closed; it's just i386-specific.
I was surprised to hear that perl modules were linked to libperl on !i386
(which would be the correct thing to do, I just didn't think the standard
perl build rules handled this). So I checked, and on my amd64 system:
$ ldd /usr/lib/perl/5.8.8/auto/POSIX/POSIX.so
libm.so.6 => /lib/libm.so.6 (0x00002b02d4451000)
libc.so.6 => /lib/libc.so.6 (0x00002b02d46d2000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
$
So sure enough, I tried the test case from
<https://bugs.launchpad.net/ubuntu/+source/openldap2.3/+bug/90812>, and:
# slapd
Error Can't load '/usr/lib/perl/5.8/auto/POSIX/POSIX.so' for module POSIX: /usr/lib/perl/5.8/auto/POSIX/POSIX.so: undefined symbol: PL_sig_name at /usr/lib/perl/5.8/XSLoader.pm line 70.
at /usr/lib/perl/5.8/POSIX.pm line 26
Compilation failed in require at /etc/perl/SampleLDAP.pm line 2.
BEGIN failed--compilation aborted at /etc/perl/SampleLDAP.pm line 2.
Compilation failed in require at (eval 2) line 1.
BEGIN failed--compilation aborted at (eval 2) line 1.
#
I have no idea if this is a regression from previous perl builds, but it
looks to me like it's a general problem at this point.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
More information about the Pkg-openldap-devel
mailing list