[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