You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by m....@ais.cib.na.cnr.it on 2004/03/25 16:37:56 UTC

[mp2] Can'tload ".../APR.so" ... undefined symbol: apr_array_make at

1. Problem Description:

  The apr-ext/uuid test fails with the following error.
  I noticed the symbol "apr_array_make" is undefined in the APR.so
  library, and that it should be defined in the "/srclib/apr/test/apr_tables.c"
  file, but it is not (at least not in Apache 2.x while I suppose it was
  in Apache 1.x).
  

t/apr-ext/uuid..........................Can't load
'/usr/local/src/mod_perl-1.99_13/blib/arch/auto/APR/APR.so' for module APR:
/usr/local/src/mod_perl-1.99_13/blib/arch/auto/APR/APR.so: undefined symbol:
apr_array_make at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm
line 229.
 at t/apr-ext/uuid.t line 25
 
  Maybe this is a minor problem. However some perl module installation
  gives warning on prerequisities packages, rising a similar error.
  for instance, installin:

  Masox::Request::WithApahe2Session the prerequisite 
  Apache::Cookie (2.02 dev) fails although it is 
  correctly installed.

Can someone help me?

Thanks, Maurizio Giordano


2. Used Components and their Configuration:

*** mod_perl version 1.9913

*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_APXS        => /usr/local/apache2/bin/apxs
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_USE_DSO     => 1
  MP_USE_STATIC  => 1


*** /usr/local/apache2/bin/httpd -V
Server version: Apache/2.0.48
Server built:   Mar 15 2004 13:51:10
Server's Module Magic Number: 20020903:4
Architecture:   32-bit
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_PROC_PTHREAD_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/usr/local/apache2"
 -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="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/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.4.20-2.48smp, archname=i386-linux-thread-multi
    uname='linux str'
    config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -g
-Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc.
-Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr
-Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0 -Duseshrplib -Dusethreads
-Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm
-Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl
-Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef'
 useithreads=define usemultiplicity=
    useperlio= d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=un uselongdouble=
    usemymalloc=, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
    optimize='',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='3.2.2 20030213 (Red Hat Linux 8.0 3.2.2-1)',
gccosandvers=''
gccversion='3.2.2 200302'
    intsize=e, longsize= , ptrsize=p, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long'
k', ivsize=4'
ivtype='long'
known_ext, nvtype='double'
o_nonbl', nvsize=, Off_t='', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='gcc'
l', ldflags =' -L/usr/local/lib'
ldf'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
    perllibs=
    libc=/lib/libc-2.3.1.so, so=so, useshrplib=true, libperl=libper
    gnulibc_version='2.3.1'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so', d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
    cccdlflags='-fPIC'
ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5', lddlflags='s Unicode/Normalize
XS/A'


Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Locally applied patches:
  	MAINT18379
  Built under linux
  Compiled at Feb 18 2003 22:19:53
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /usr/lib/perl5/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/5.8.0
    /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.0
    /usr/lib/perl5/vendor_perl
    /usr/lib/perl5/5.8.0/i386-linux-thread-multi
    /usr/lib/perl5/5.8.0
    .

*** Packages of interest status:

Apache::Request: -
CGI            : 3.04
LWP            : 5.65
mod_perl       : 1.9907, 1.9913


3. This is the core dump trace: (if you get a core dump):

  [CORE TRACE COMES HERE]

This report was generated by t/REPORT on Thu Mar 25 18:50:04 2004 GMT.

-------------8<---------- End Bug Report --------------8<----------

t/logs/error_log:

END in modperl_extra.pl, pid=19942
[Thu Mar 25 15:47:58 2004] [notice] Apache/2.0.48 (Unix) mod_perl/1.99_13
Perl/v5.8.0 PHP/4.3.4 configured -- resuming normal operations
[Thu Mar 25 15:47:58 2004] [info] Server built: Mar 15 2004 13:51:10
[Thu Mar 25 15:47:58 2004] [debug] prefork.c(1037): AcceptMutex: pthread
(default: pthread)
[Thu Mar 25 15:48:00 2004] [error] server reached MaxClients setting, consider
raising the MaxClients setting
[Thu Mar 25 15:48:02 2004] [info] Child process pid=19946 is exiting
[Thu Mar 25 15:48:02 2004] [info] Child process pid=19949 is exiting
[Thu Mar 25 15:48:02 2004] [info] removed PID file
/usr/local/src/mod_perl-1.99_13/t/logs/httpd.pid (pid=19944)
[Thu Mar 25 15:48:02 2004] [notice] caught SIGTERM, shutting down
END in modperl_extra.pl, pid=19944


-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: [mp2] Can'tload ".../APR.so" ... undefined symbol: apr_array_make at

Posted by Stas Bekman <st...@stason.org>.
Thanks for the nice report, Maurizio ;)

First of all, you can safely ignore this problem and make install it. This is 
only relevant for using APR perl api outside mod_perl, which is far from being 
complete. and it doesn't affect mod_perl 2.0 itself. But let's resolve it.

 > *** Packages of interest status:
 >
 > Apache::Request: -
 > CGI            : 3.04
 > LWP            : 5.65
 > mod_perl       : 1.9907, 1.9913

You seem to have an old mp2 installed. This could be the cause of the problem. 
  Please remove it and try again.

If it doesn't change anything, please read on:

m.giordano@ais.cib.na.cnr.it wrote:
> 1. Problem Description:
> 
>   The apr-ext/uuid test fails with the following error.
>   I noticed the symbol "apr_array_make" is undefined in the APR.so
>   library, and that it should be defined in the "/srclib/apr/test/apr_tables.c"
>   file, but it is not (at least not in Apache 2.x while I suppose it was
>   in Apache 1.x).

nuh, it's defined in libapr.so

nm /home/stas/httpd/worker/lib/libapr-0.so.0.9.5 | grep apr_array_make
0000ce9b T apr_array_make

> t/apr-ext/uuid..........................Can't load
> '/usr/local/src/mod_perl-1.99_13/blib/arch/auto/APR/APR.so' for module APR:
> /usr/local/src/mod_perl-1.99_13/blib/arch/auto/APR/APR.so: undefined symbol:
> apr_array_make at /usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm
> line 229.
>  at t/apr-ext/uuid.t line 25

Please show us:

ldd /usr/local/src/mod_perl-1.99_13/blib/arch/auto/APR/APR.so

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html