Re: [mp2] Test fails with undefined symbols on AIX [mod_perl 2.0.5/apache-2.2.22/perl-5.14.2]

Peter Heimann <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <[email protected]>
On 04/07/2012 12:36 AM, Fred Moyer wrote:
> RC3 is now available - see [email protected] for the link.  

I get similar results for RC5.

Can't load
'/home/user/tmp/mod_perl-2.0.6-rc5/blib/arch/auto/APR/Brigade/Brigade.so' for
module APR::Brigade: rtld: 0712-001 Symbol modperl_croak was referenced
      from module
/home/user/tmp/mod_perl-2.0.6-rc5/blib/arch/auto/APR/Brigade/Brigade.so(),
but a runtime definition
      of the symbol was not found. at
/usr/local/perl/lib/5.14.2/aix-thread-multi/DynaLoader.pm line 190.
 at /home/user/tmp/mod_perl-2.0.6-rc5/t/lib/TestAPRlib/brigade.pm line 15
Compilation failed in require at
/home/user/tmp/mod_perl-2.0.6-rc5/t/lib/TestAPRlib/brigade.pm line 15.

Brigade.so references modperl_croak:

% nm blib/arch/auto/APR/Brigade/Brigade.so | grep modperl_croak
.modperl_croak       T        9088
.modperl_croak       t        9088          40
modperl_croak        U           -
modperl_croak        d        3228           4

The symbol is defined in mod_perl.so:

% nm src/modules/perl/mod_perl.so | grep modperl_croak
.modperl_croak       T       48736
modperl_croak        D       50728          12

Shouldn't Brigade.so then have a library dependency from mod_perl.so?
Apparently, it doesn't:

% ldd blib/arch/auto/APR/Brigade/Brigade.so
blib/arch/auto/APR/Brigade/Brigade.so needs:
         /usr/lib/librtl.a(shr.o)
         /unix

> Do you have another set of APR libraries installed, perhaps with the packaging system that comes with AIX? It looks like mod_perl was built against a different set of APR libs than is being loaded at runtime. 

No, not in the AIX standard lib directories or in the LIBPATH.

-- 
Peter Heimann
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.