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



Reply via email to