Full_Name: Russ Allbery
Version: 2.3.35
OS: Debian
URL:
Submission from: (NULL) (171.66.157.14)
While investigating another issue with back_perl, I tried to use the
SampleLDAP.pm module that comes with the OpenLDAP source. I added the following
to my slapd.conf:
moduleload back_perl
# ...
database perl
suffix "o=AnyOrg,c=US"
perlModulePath /home/eagle/SampleLDAP.pm
perlModule SampleLDAP
The result of slapd -d 1 is:
...
WARNING: No dynamic config support for database perl.
config_build_entry: "olcDatabase={2}perl"
backend_startup_one: starting "dc=Stanford,dc=EDU"
bdb_db_open: unclean shutdown detected; attempting recovery.
bdb_db_open: dbenv_open(/var/lib/ldap)
backend_startup_one: starting "o=AnyOrg,c=US"
Can't call method "init" on an undefined value.
I suspect the code in perl_back_db_open where it does:
dSP; ENTER; SAVETMPS;
PUSHMARK(sp);
XPUSHs( perl_back->pb_obj_ref );
PUTBACK;
#ifdef PERL_IS_5_6
count = call_method("init", G_SCALAR);
#else
count = perl_call_method("init", G_SCALAR);
#endif
The error message is consistent with perl_back->pb_obj_ref being an undefined
value. Why it's undefined, though, I'm not sure.
See also
http://www.openldap.org/lists/openldap-software/200705/msg00126.html