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.
> Symbol modperl_hash_tied_object > was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. RC3 is now available - see d...@perl.apache.org for the link. On Tuesday, April 3, 2012 at 2:06 PM, Peter Heimann wrote: > > 1. Problem Description: > > On AIX 5.3, with both mod_perl 2.0.5 and 2.0.6-rc2, > "perl -e 'use Apache2::Request;'" fails because the loader cannot find > runtime definitions for several symbols: > "Symbol modperl_hash_tied_object was referenced from module > /usr/local/perl/lib/site_perl/5.14.2/aix-thread-multi/auto/APR/Table/Table.so(), > but a runtime definition of the symbol was not found." > > The problem is shown by the t/apr-ext/brigade.t, t/apr-ext/finfo.t, > t/apr-ext/pool.t, t/apr-ext/table.t, t/apr-ext/threadmutex.t, > and t/apr-ext/uri.t test cases as well: > > > cd "src/modules/perl" && make > Target "all" is up to date. > /usr/local/bin/perl -Iblib/arch -Iblib/lib t/TEST -clean > [warning] setting ulimit to allow core files > ulimit -c unlimited; /usr/local/bin/perl > /home/user/tmp/mod_perl-2.0.6-rc2/t/TEST -clean > APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= > APACHE_TEST_USER= APACHE_TEST_APXS= /usr/local/bin/perl -Iblib/arch > -Iblib/lib t/TEST -bugreport -verbose=1 apr-ext/brigade.t > apr-ext/finfo.t apr-ext/pool.t apr-ext/table.t apr-ext/threadmutex.t > apr-ext/uri.t > [warning] setting ulimit to allow core files > ulimit -c unlimited; /usr/local/bin/perl > /home/user/tmp/mod_perl-2.0.6-rc2/t/TEST -bugreport -verbose=1 > 'apr-ext/brigade.t' 'apr-ext/finfo.t' 'apr-ext/pool.t' 'apr-ext/table.t' > 'apr-ext/threadmutex.t' 'apr-ext/uri.t' > /usr/local/apache/bin/httpd -d /home/user/tmp/mod_perl-2.0.6-rc2/t -f > /home/user/tmp/mod_perl-2.0.6-rc2/t/conf/httpd.conf -D APACHE2 -D > PERL_USEITHREADS > using Apache/2.2.22 (prefork MPM) > > waiting 120 seconds for server to start: .[Tue Apr 03 13:09:10 2012] > [info] 6 Apache2:: modules loaded > [Tue Apr 03 13:09:10 2012] [info] 0 APR:: modules loaded > [Tue Apr 03 13:09:10 2012] [info] base server + 29 vhosts ready to run tests > ... > waiting 120 seconds for server to start: ok (waited 3 secs) > server localhost:8529 started > server localhost:8530 listening (filter_out_apache) > server localhost:8531 listening (perlsections) > server localhost:8532 listening (inherit) > server localhost:8533 listening (TestModperl::merge) > server localhost:8534 listening (TestModperl::perl_options) > server localhost:8535 listening (TestModperl::perl_options2) > server localhost:8536 listening (TestModperl::setupenv) > server localhost:8537 listening (TestModules::proxy) > server localhost:8538 listening (TestUser::rewrite) > server localhost:8539 listening (TestVhost::config) > server localhost:8540 listening (TestVhost::log) > server localhost:8541 listening (TestProtocol::echo_bbs) > server localhost:8542 listening (TestProtocol::echo_bbs2) > server localhost:8543 listening (TestProtocol::echo_block) > server localhost:8544 listening (TestProtocol::echo_filter) > server localhost:8545 listening (TestProtocol::echo_nonblock) > server localhost:8546 listening (TestProtocol::echo_timeout) > server localhost:8547 listening (TestProtocol::pseudo_http) > server localhost:8548 listening (TestPreConnection::note) > server localhost:8549 listening (TestHooks::hookrun) > server localhost:8550 listening (TestHooks::init) > server localhost:8551 listening (TestHooks::stacked_handlers2) > server localhost:8552 listening (TestHooks::startup) > server localhost:8553 listening (TestHooks::trans) > server localhost:8554 listening (TestFilter::both_str_con_add) > server localhost:8555 listening (TestFilter::in_bbs_inject_header) > server localhost:8556 listening (TestFilter::in_bbs_msg) > server localhost:8557 listening (TestFilter::in_str_msg) > server localhost:8558 listening (TestDirective::perlmodule) > server localhost:8559 listening (TestDirective::perlrequire) > server localhost:8560 listening (TestAPI::add_config) > server localhost:8561 listening (TestDirective::perlloadmodule3) > server localhost:8562 listening (TestDirective::perlloadmodule4) > server localhost:8563 listening (TestDirective::perlloadmodule5) > server localhost:8564 listening (TestDirective::perlloadmodule6) > server localhost:8565 listening (TestHooks::push_handlers_anon) > Can't load > '/home/user/tmp/mod_perl-2.0.6-rc2/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-rc2/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-rc2/t/lib/TestAPRlib/brigade.pm line 15 > Compilation failed in require at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/brigade.pm line 15. > BEGIN failed--compilation aborted at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/brigade.pm line 15. > Compilation failed in require at t/apr-ext/brigade.t line 7. > BEGIN failed--compilation aborted at t/apr-ext/brigade.t line 7. > t/apr-ext/brigade.t ...... > Dubious, test returned 8 (wstat 2048, 0x800) > No subtests run > Can't load > '/home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Finfo/Finfo.so' > for module APR::Finfo: rtld: 0712-001 Symbol modperl_croak was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Finfo/Finfo.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-rc2/t/lib/TestAPRlib/finfo.pm line 14 > Compilation failed in require at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/finfo.pm line 14. > BEGIN failed--compilation aborted at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/finfo.pm line 14. > Compilation failed in require at t/apr-ext/finfo.t line 7. > BEGIN failed--compilation aborted at t/apr-ext/finfo.t line 7. > t/apr-ext/finfo.t ........ > Dubious, test returned 8 (wstat 2048, 0x800) > No subtests run > Can't load > '/home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so' > for module APR::Table: rtld: 0712-001 Symbol modperl_hash_tied_object > was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. > rtld: 0712-001 Symbol modperl_hash_tied_object_rv was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. > rtld: 0712-001 Symbol modperl_hash_tie was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.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-rc2/t/lib/TestAPRlib/pool.pm line 11 > Compilation failed in require at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/pool.pm line 11. > BEGIN failed--compilation aborted at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/pool.pm line 11. > Compilation failed in require at t/apr-ext/pool.t line 7. > BEGIN failed--compilation aborted at t/apr-ext/pool.t line 7. > t/apr-ext/pool.t ......... > Dubious, test returned 8 (wstat 2048, 0x800) > No subtests run > Can't load > '/home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so' > for module APR::Table: rtld: 0712-001 Symbol modperl_hash_tied_object > was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. > rtld: 0712-001 Symbol modperl_hash_tied_object_rv was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. > rtld: 0712-001 Symbol modperl_hash_tie was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.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-rc2/t/lib/TestAPRlib/table.pm line 11 > Compilation failed in require at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/table.pm line 11. > BEGIN failed--compilation aborted at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/table.pm line 11. > Compilation failed in require at t/apr-ext/table.t line 7. > BEGIN failed--compilation aborted at t/apr-ext/table.t line 7. > t/apr-ext/table.t ........ > Dubious, test returned 8 (wstat 2048, 0x800) > No subtests run > Can't load > '/home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so' > for module APR::Table: rtld: 0712-001 Symbol modperl_hash_tied_object > was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. > rtld: 0712-001 Symbol modperl_hash_tied_object_rv was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.so(), > but a runtime definition > of the symbol was not found. > rtld: 0712-001 Symbol modperl_hash_tie was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/Table/Table.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-rc2/t/lib/TestAPRlib/threadmutex.pm > line 40 > Compilation failed in require at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/threadmutex.pm line 40. > t/apr-ext/threadmutex.t .. > 1..5 > # Running under perl version 5.014002 for aix > # Current time local: Tue Apr 3 13:09:19 2012 > # Current time GMT: Tue Apr 3 11:09:19 2012 > # Using Test.pm version 1.25_02 > # Using Apache/Test.pm version 1.37 > ok 1 > # testing : lock == APR::Const::SUCCESS > # expected: 0 > # received: 0 > ok 2 > # testing : unlock == APR::Const::SUCCESS > # expected: 0 > # received: 0 > ok 3 > Dubious, test returned 8 (wstat 2048, 0x800) > Failed 2/5 subtests > Can't load > '/home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/URI/URI.so' for > module APR::URI: rtld: 0712-001 Symbol modperl_uri_new was referenced > from module > /home/user/tmp/mod_perl-2.0.6-rc2/blib/arch/auto/APR/URI/URI.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-rc2/t/lib/TestAPRlib/uri.pm line 11 > Compilation failed in require at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/uri.pm line 11. > BEGIN failed--compilation aborted at > /home/user/tmp/mod_perl-2.0.6-rc2/t/lib/TestAPRlib/uri.pm line 11. > Compilation failed in require at t/apr-ext/uri.t line 7. > BEGIN failed--compilation aborted at t/apr-ext/uri.t line 7. > t/apr-ext/uri.t .......... > Dubious, test returned 8 (wstat 2048, 0x800) > No subtests run > > > Contents of error_log: > > END in modperl_extra.pl (http://modperl_extra.pl), pid=901248 > [Tue Apr 03 13:09:14 2012] [notice] Apache/2.2.22 (Unix) world > domination series/2.0 mod_perl/2.0.6-rc2 Perl/v5.14.2 configured -- > resuming normal operations > [Tue Apr 03 13:09:14 2012] [info] Server built: Mar 29 2012 15:19:34 > [Tue Apr 03 13:09:14 2012] [debug] prefork.c(1023): AcceptMutex: sysvsem > (default: sysvsem) > [Tue Apr 03 13:09:21 2012] [info] Child process pid=159934 is exiting > [Tue Apr 03 13:09:21 2012] [info] Child process pid=159934 is exiting - > server push > END in modperl_extra.pl (http://modperl_extra.pl), pid=159934 > [Tue Apr 03 13:09:21 2012] [info] Child process pid=901256 is exiting > [Tue Apr 03 13:09:21 2012] [info] Child process pid=901256 is exiting - > server push > END in modperl_extra.pl (http://modperl_extra.pl), pid=901256 > [Tue Apr 03 13:09:23 2012] [info] removed PID file > /home/user/tmp/mod_perl-2.0.6-rc2/t/logs/httpd.pid (pid=1011966) > [Tue Apr 03 13:09:23 2012] [notice] caught SIGTERM, shutting down > END in modperl_extra.pl (http://modperl_extra.pl), pid=1011966 > > > 2. Used Components and their Configuration: > > *** mod_perl version 2.000006 > > *** using /home/user/tmp/mod_perl-2.0.6-rc2/lib/Apache2/BuildConfig.pm > > *** Makefile.PL options: > MP_APR_LIB => aprext > MP_APXS => /usr/local/apache/bin/apxs > MP_COMPAT_1X => 1 > MP_GENERATE_XS => 1 > MP_LIBNAME => mod_perl > MP_USE_DSO => 1 > > > *** /usr/local/apache/bin/httpd -V > Server version: Apache/2.2.22 (Unix) > Server built: Mar 29 2012 15:19:34 > Server's Module Magic Number: 20051115:30 > Server loaded: APR 1.4.5, APR-Util 1.4.1 > Compiled using: APR 1.4.5, APR-Util 1.4.1 > Architecture: 32-bit > Server MPM: Prefork > threaded: no > forked: yes (variable process count) > Server compiled with.... > -D APACHE_MPM_DIR="server/mpm/prefork" > -D APR_HAS_SENDFILE > -D APR_HAS_MMAP > -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) > -D APR_USE_SYSVSEM_SERIALIZE > -D APR_USE_PTHREAD_SERIALIZE > -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT > -D APR_HAS_OTHER_CHILD > -D AP_HAVE_RELIABLE_PIPED_LOGS > -D DYNAMIC_MODULE_LIMIT=128 > -D HTTPD_ROOT="/usr/local/apache" > -D SUEXEC_BIN="/usr/local/apache/bin/suexec" > -D DEFAULT_PIDLOG="/var/httpd/logs/httpd.pid" > -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" > -D DEFAULT_LOCKFILE="/var/httpd/logs/accept.lock" > -D DEFAULT_ERRORLOG="logs/error_log" > -D AP_TYPES_CONFIG_FILE="conf/mime.types" > -D SERVER_CONFIG_FILE="conf/httpd.conf" > > *** /usr/bin/ldd /usr/local/apache/bin/httpd > /usr/local/apache/bin/httpd needs: > /usr/local/apache/lib/libaprutil-1.so > /usr/local/apache/lib/libapr-1.so > /usr/lib/libpthread.a(shr_xpg5.o) > /usr/lib/libc.a(shr.o) > /usr/lib/librtl.a(shr.o) > /usr/local/apache/lib/libexpat.a(libexpat.so.0) > /usr/lib/libiconv.a(shr4.o) > /usr/lib/libpthreads.a(shr_comm.o) > /unix > /usr/lib/libcrypt.a(shr.o) > > > *** (apr|apu)-config linking info > > -L/usr/local/apache/lib -laprutil-1 -lexpat -liconv > -L/usr/local/apache/lib -lapr-1 -lpthread -Wl,-brtl > > > > *** /usr/local/perl/bin/perl -V > Summary of my perl5 (revision 5 version 14 subversion 2) configuration: > > Platform: > osname=aix, osvers=5.3.0.0, archname=aix-thread-multi > uname='aix host 3 5 00ce7e0f4c00 ' > config_args='-d -Dcc=cc_r -Duseshrplib -Dusethreads > -Dprefix=/usr/local/perl -Dcf_email=root' > hint=recommended, useposix=true, d_sigaction=define > useithreads=define, usemultiplicity=define > useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef > use64bitint=undef, use64bitall=undef, uselongdouble=undef > usemymalloc=n, bincompat5005=undef > Compiler: > cc='cc_r -q32', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE > -D_POSIX_SOURCE -qmaxmem=-1 -qnoansialias -DUSE_NATIVE_DLOPEN > -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong', > optimize='-O', > cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=-1 > -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT' > ccversion='7.0.0.16', gccversion='', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 > d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=8 > alignbytes=8, prototype=define > Linker and Libraries: > ld='ld', ldflags =' -brtl -bdynamic -L/usr/local/lib -b32 > -bmaxdata:0x80000000' > libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib > libs=-lbind -lnsl -ldbm -ldl -lld -lm -lcrypt -lpthreads -lc > perllibs=-lbind -lnsl -ldl -lld -lm -lcrypt -lpthreads -lc > libc=/lib/libc.a, so=a, useshrplib=true, libperl=libperl.a > gnulibc_version='' > Dynamic Linking: > dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=' > -bE:/usr/local/perl/lib/5.14.2/aix-thread-multi/CORE/perl.exp' > cccdlflags=' ', lddlflags='-bhalt:4 -G -bI:$(PERL_INC)/perl.exp > -bE:$(BASEEXT).exp -bnoentry -lpthreads -lc -lm -L/usr/local/lib' > > > Characteristics of this binary (from libperl): > Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV > PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP > PERL_PRESERVE_IVUV USE_ITHREADS USE_LARGE_FILES > USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API > Built under aix > Compiled at Mar 28 2012 12:52:40 > %ENV: > PERL_LWP_USE_HTTP_10="1" > @INC: > /usr/local/perl/lib/site_perl/5.14.2/aix-thread-multi > /usr/local/perl/lib/site_perl/5.14.2 > /usr/local/perl/lib/5.14.2/aix-thread-multi > /usr/local/perl/lib/5.14.2 > . > > *** Packages of interest status: > > Apache2 : - > Apache2::Request : 2.13 > CGI : 3.52 > ExtUtils::MakeMaker: 6.62 > LWP : 6.04 > mod_perl : - > mod_perl2 : 2.000006 > > > > > > -- > Peter Heimann