Hi,
I am learning how to install, configure and use openldap. During installing of openldap with back-perl I get the following error:
cd back-perl; make -w install make[3]: Entering directory `/root/openldap-2.4.8/servers/slapd/back-perl' /bin/sh ../../..//libtool --tag=disable-static --mode=compile cc -g -O2 -I../../../include -I../../../include -I.. -I./.. -DSLAPD_IMPORT -c init.c cc -g -O2 -I../../../include -I../../../include -I.. -I./.. -DSLAPD_IMPORT -c init.c -fPIC -DPIC -o .libs/init.o In file included from init.c:18: perl_back.h:21:20: error: EXTERN.h: No such file or directory perl_back.h:22:18: error: perl.h: No such file or directory In file included from init.c:18: perl_back.h:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token perl_back.h:67: error: expected specifier-qualifier-list before 'SV' init.c:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void' init.c:24: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token init.c: In function 'perl_back_initialize': init.c:72: error: 'perl_interpreter' undeclared (first use in this function) init.c:72: error: (Each undeclared identifier is reported only once init.c:72: error: for each function it appears in.) init.c: In function 'perl_back_db_init': init.c:96: error: 'PerlBackend' has no member named 'pb_filter_search_results' init.c: In function 'perl_back_db_open': init.c:117: error: 'dSP' undeclared (first use in this function) init.c:117: error: 'ENTER' undeclared (first use in this function) init.c:117: error: 'SAVETMPS' undeclared (first use in this function) init.c:119: error: 'sp' undeclared (first use in this function) init.c:120: error: 'PerlBackend' has no member named 'pb_obj_ref' init.c:122: error: 'PUTBACK' undeclared (first use in this function) init.c:127: error: 'G_SCALAR' undeclared (first use in this function) init.c:130: error: 'SPAGAIN' undeclared (first use in this function) init.c:136: error: 'POPi' undeclared (first use in this function) init.c:138: error: 'FREETMPS' undeclared (first use in this function) init.c:138: error: 'LEAVE' undeclared (first use in this function) init.c: In function 'perl_back_xs_init': init.c:151: error: 'dXSUB_SYS' undeclared (first use in this function) init.c:152: error: 'boot_DynaLoader' undeclared (first use in this function) make[3]: *** [init.lo] Error 1 make[3]: Leaving directory `/root/openldap-2.4.8/servers/slapd/back-perl' make[2]: *** [install-slapd] Error 1 make[2]: Leaving directory `/root/openldap-2.4.8/servers/slapd' make[1]: *** [install-common] Error 1 make[1]: Leaving directory `/root/openldap-2.4.8/servers' make: *** [install-common] Error 1
Am I missing a requirement? Perl and perl-devel are installed. Can anybody help me to solve this issue?
TIA, Arjan.
Arjan Hulshoff writes:
(...) cc -g -O2 -I../../../include -I../../../include -I.. -I./.. -DSLAPD_IMPORT -c init.c -fPIC -DPIC -o .libs/init.o In file included from init.c:18: perl_back.h:21:20: error: EXTERN.h: No such file or directory perl_back.h:22:18: error: perl.h: No such file or directory (...)
Am I missing a requirement? Perl and perl-devel are installed. Can anybody help me to solve this issue?
If you look at configure.in, the compile command should include the output from perl -MExtUtils::Embed -e ccopts which I'd expect to include something like -I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE Your compile command doesn't.
Maybe you ran OpenLDAP configure before installing perl-devel? If so try to 'make distclean' and then ./configure again. Or maybe your perl installation is still screwy, or you have two perl installation and are not using the one which includes your perl-devel module.
If that doesn't help: splitting part of Perl out to a "perl-devel" package sounds like a hack specific to whatever your OS distro is, so it'd help to know what you are using. And likely the question needs to go to your distro's support rather than here.
Thanks Hallvard,
I am using Fedora 8, however I did install perl-devel after running OpenLDAP configure. I did what you described and that worked. Thanks again!
Arjan.
Hallvard B Furuseth wrote:
Arjan Hulshoff writes:
(...) cc -g -O2 -I../../../include -I../../../include -I.. -I./.. -DSLAPD_IMPORT -c init.c -fPIC -DPIC -o .libs/init.o In file included from init.c:18: perl_back.h:21:20: error: EXTERN.h: No such file or directory perl_back.h:22:18: error: perl.h: No such file or directory (...)
Am I missing a requirement? Perl and perl-devel are installed. Can anybody help me to solve this issue?
If you look at configure.in, the compile command should include the output from perl -MExtUtils::Embed -e ccopts which I'd expect to include something like -I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE Your compile command doesn't.
Maybe you ran OpenLDAP configure before installing perl-devel? If so try to 'make distclean' and then ./configure again. Or maybe your perl installation is still screwy, or you have two perl installation and are not using the one which includes your perl-devel module.
If that doesn't help: splitting part of Perl out to a "perl-devel" package sounds like a hack specific to whatever your OS distro is, so it'd help to know what you are using. And likely the question needs to go to your distro's support rather than here.
openldap-software@openldap.org