------------- root@gnp43:/home/pwadas# slapd -4 -d3872 -h ldap://192.168.0.221/ ldapi:/// @(#) $OpenLDAP: slapd 2.3.35 (May 12 2007 16:57:50) $
root@gnp43.internetdsl.tpnet.pl:/home/pwadas/SRC/SLAPD-NEW/openldap-2.3.35/servers/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/ldap/PerlBackend.pm line 26. BEGIN failed--compilation aborted at /etc/ldap/PerlBackend.pm line 26. Compilation failed in require at (eval 2) line 1. BEGIN failed--compilation aborted at (eval 2) line 1.
WARNING: No dynamic config support for database perl. Can't call method "init" on an undefined value. root@gnp43:/home/pwadas#
root@gnp43:~/SRC/SLAPD-NEW# perl --version
This is perl, v5.8.8 built for i486-linux-gnu-thread-multi ------------
Hello, I got the above error, when I try to start slapd, with perl backends, and some "use" lines in script. No matter what perl package I try to use (POSIX, DBI, whatever), I get similar error regarding perl library.
I tried to rebuild perl and its modules, and rebuild openldap (tried 2.3.30 and 2.3.35 versions), with no effect. Is there some limitation on perl backend, because of kind of the way it's embedded into slapd, which actually disallow usage of external modules? It seems slapd runs fine, when I don't put any "use" lines into backend perl file (*.pm) Should I try without threading, or what?
I've seen this thing being reported a few times on various lists, including some linux distribution bugzillas, anyway there was no answer, see e.g. this https://bugs.launchpad.net/ubuntu/+source/openldap2.2/+bug/90812
This slapd 2.3.35 was built with the following options:
--prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-debug --enable-dynamic --enable-syslog --enable-proctitle --enable-ipv6 --enable-local --enable-slapd --enable-aci --enable-cleartext --enable-crypt --enable-spasswd --enable-modules --enable-rewrite --enable-rlookups --enable-slp --enable-wrappers --enable-backends=mod --enable-overlays=mod --enable-slurpd --with-subdir=ldap --with-cyrus-sasl --with-threads --with-tls --enable-bdb=mod --enable-dnssrv=mod --enable-hdb=mod --enable-ldap=mod --enable-ldbm=mod --enable-meta=mod --enable-monitor=mod --enable-null=mod --enable-passwd=mod --enable-perl=mod --enable-relay=mod --enable-shell=mod --enable-sql=mod --enable-accesslog=mod --enable-auditlog=mod --enable-denyop=mod --enable-dyngroup=mod --enable-dynlist=mod --enable-lastmod=mod --enable-ppolicy=mod --enable-proxycache=mod --enable-refint=mod --enable-retcode=mod --enable-rwm=mod --enable-syncprov=mod --enable-translucent=mod --enable-unique=mod --enable-valsort=mod
and the part from slapd.conf (of course the same happens with only one directory in perlModulePath, containing PerlBackend.pm)
database perl suffix "dc=example" perlModulePath /etc/ldap /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl perlModule PerlBackend
"PerlBackend.pm" is the file from slapd distribution, SampleLDAP, I just renamed it.
Regards, Piotr
--enable-backends=mod --enable-overlays=mod --enable-bdb=mod --enable-dnssrv=mod --enable-hdb=mod --enable-ldap=mod --enable-ldbm=mod --enable-meta=mod --enable-monitor=mod --enable-null=mod --enable-passwd=mod --enable-perl=mod --enable-relay=mod --enable-shell=mod --enable-sql=mod --enable-accesslog=mod --enable-auditlog=mod --enable-denyop=mod --enable-dyngroup=mod --enable-dynlist=mod --enable-lastmod=mod --enable-ppolicy=mod --enable-proxycache=mod --enable-refint=mod --enable-retcode=mod --enable-rwm=mod --enable-syncprov=mod --enable-translucent=mod --enable-unique=mod --enable-valsort=mod
It works perfectly (2.3.35), when I rebuild using "yes" instead of "mod" for above options. Does it mean, that perl backend doesn't work properly, when it's compiled/loaded as module ?
Regards, Piotr
--On Saturday, May 12, 2007 6:43 PM +0200 Piotr Wadas pwadas@jewish.org.pl wrote:
It works perfectly (2.3.35), when I rebuild using "yes" instead of "mod" for above options. Does it mean, that perl backend doesn't work properly, when it's compiled/loaded as module ?
It works perfectly for me built as a module.
--Quanah
-- Quanah Gibson-Mount Principal Software Engineer Zimbra, Inc -------------------- Zimbra :: the leader in open source messaging and collaboration
openldap-software@openldap.org