Red Hat Bugzilla – Bug 88852
Errors compiling CDB_File CPAN module
Last modified: 2007-04-18 12:53:03 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225
Description of problem:
When compiling the CDB_File module it comes back with a linker error saying
"report_uninit" cannot be linked.
Searching the source and the perl header files, I find the following lines in
/usr/lib/perl5/5.8.0/i386-linux-thread-multi-CORE/embed.h which seem to be where
it should be defined:
23 #if !defined(PERL_IMPLICIT_CONTEXT)
1121 #ifdef PERL_CORE
1122 #define report_uninit Perl_report_uninit
3551 #ifdef PERL_CORE
3552 #define report_uninit() Perl_report_uninit(aTHX)
4901 #endif /* PERL_IMPLICIT_CONTEXT */
testing shows that PERL_IMPLICIT_CONTEXT is defined, and PERL_CORE is not
defined, while compiling this module.
i tried adding "#define PERL_CORE" to the .xs file and it added a bunch of other
errors- my guess is that defining this constant tells the headers that you are
building perl itself, but i don't know for sure (since i've never done perl xs
how is it possible to get the proper definition of "report_uninit" for the module?
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. perl -MCPAN -e 'install CDB_File'
Actual Results: Linker error during "make test" phase:
undefined symbol: report_uninit at
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229.
Expected Results: Module should have compiled, tested, and installed cleanly.
This worked with RH7.3 and RH8.0, but broke under phoebe and now with RH9.
Try setting LANG=C
been there, done that... that much was necessary just to get it to build a
proper Makefile. this is a problem which relates to either libc-2.3 or perl-5.8,
both of which were changed between RH8.0 and RH9.
i have emailed matt sergeant (who "owns" the perl module as of 0.92) about this
but i haven't heard anything back from him.