Re: Trunk: APR.so won't load

Jie Gao <[email protected]>
Newsgroups gmane.comp.apache.mod-perl,gmane.comp.apache.incubator.bigtop.devel
Message-ID <[email protected]>
Hi Steve

I modified xs/Apache2/Module/Apache2__Module.h and replaced ap_strchr with
strchr before recompiling.  I still got the same error message after that.

I re-compiled apache without enabling the maintainer mode:

---
CC="gcc"; export CC
CFLAGS="-Wall -O3"; export CFLAGS
"./configure" \
"--prefix=/usr/local/httpd-2.4.12" \
"--with-included-apr" \
"--with-mpm=worker" \
"--enable-auth-digest" \
"--enable-dav" \
"--enable-expires" \
"--enable-headers" \
"--enable-proxy-html" \
"--enable-xml2enc" \
"--enable-info" \
"--enable-mime-magic" \
"--enable-nonportable-atomics" \
"--enable-proxy" \
"--enable-proxy-balancer" \
"--enable-proxy-http" \
"--enable-rewrite" \
"--enable-so" \
"--enable-ssl" \
"--enable-unique-id" \
"--enable-vhost-alias" \
"--enable-modules=most" \
"--enable-mods-shared=most" \
"--enable-lbmethod-byrequests" \
"--enable-lbmethod-bytraffic" \
"--enable-lbmethod-bybusyness" \
"--enable-lbmethod-heartbeat" \
"--enable-heartmonitor" \
"--enable-watchdog" \
"--enable-ratelimit" \
"--enable-ext-filter" \
"--enable-request" \
"CC=gcc" \
"CFLAGS=-Wall -O3" \
"$@"
---

and got mod_perl source code from Trunk again. mod_perl then fails "make test" early on:

---
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -clean
APACHE_TEST_APXS= APACHE_TEST_PORT= APACHE_TEST_HTTPD= APACHE_TEST_GROUP= APACHE_TEST_USER= \
        /usr/local/bin/perl -Iblib/arch -Iblib/lib \
        t/TEST -bugreport -verbose=0
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0_20150310_0709/t/TEST -bugreport -verbose=0
/usr/local/httpd-2.4.12/bin/httpd  -d /usr/local/src/mod_perl-2.0_20150310_0709/t -f /usr/local/src/mod_perl-2.0_20150310_0709/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
using Apache/2.4.12 (worker MPM)

waiting 300 seconds for server to start: .[Fri Apr 10 08:04:42.875770 2015] [env:warn] [pid 19848:tid 140397405107968] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
[Fri Apr 10 08:04:42.900978 2015] [perl:info] [pid 19848:tid 140397405107968] 6 Apache2:: modules loaded
[Fri Apr 10 08:04:42.901033 2015] [perl:info] [pid 19848:tid 140397405107968] 0 APR:: modules loaded
[Fri Apr 10 08:04:42.901092 2015] [perl:info] [pid 19848:tid 140397405107968] base server + 32 vhosts ready to run tests
.............................................................................................................................................................................................................................................................................................................
waiting 300 seconds for server to start: not ok
[  error] giving up after 301 secs. If you think that your system
is slow or overloaded try again with a longer timeout value.
by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
to a high value (e.g. 600) and repeat the last command.

[  error] server failed to start! (please examine t/logs/error_log)
+--------------------------------------------------------+
| Please file a bug report: http://perl.apache.org/bugs/ |
+--------------------------------------------------------+
make: *** [run_tests] Error 1
[08:09:44]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:822> ls -l t/logs/error_log
-rw-r--r--. 1 jiegao jiegao 1243 Apr 10 08:04 t/logs/error_log
[08:10:01]jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat !$
jiegao@XXXX/usr/local/src/mod_perl-2.0_20150310_0709:823> cat t/logs/error_log
********************************************************************************
*** This is a test for Apache2::ServerUtil::server_shutdown_cleanup_register ***
*** Following a line consisting only of * characters there should be a line  ***
*** containing                                                               ***
***     "cleanup died: testing server_shutdown_cleanup_register".            ***
*** The next line should then read                                           ***
***     "done with server_shutdown_cleanup_register"                         ***
********************************************************************************
Apache2::ServerUtil: cleanup died: testing server_shutdown_cleanup_register
*** done with server_shutdown_cleanup_register                               ***
********************************************************************************
END in modperl_extra.pl, pid=19848
END in modperl_extra.pl, pid=19848
[Fri Apr 10 08:04:45.465468 2015] [proxy_balancer:emerg] [pid 19852:tid 140397405107968] AH01177: Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded??
[Fri Apr 10 08:04:45.465496 2015] [:emerg] [pid 19852:tid 140397405107968] AH00020: Configuration Failed, exiting
---

Adding "--enable-maintainer-mode" and re-compliling apache, I could get "make test" going as before.
 



Regards,

Jie 

* Steve Hay <[email protected]> wrote:

> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay <[email protected]>
> To: Jie Gao <[email protected]>
> CC: "[email protected]" <[email protected]>, mod_perl Dev
>  <[email protected]>
> Subject: Re: Trunk: APR.so won't load
> 
> Actually, I don't think there is anything stopping -DAP_DEBUG from
> coming through from the httpd config. The change that was made
> (r357052) just stopped mod_perl from adding that itself when
> MP_MAINTAINER is specified.
> 
> But maybe we do need to filter out -DAP_DEBUG?
> Or else stop using ap_strchr() and just use strchr() directly?
> 
> Could you try the latter, since it seems like an easy fix? -- Change
> the one instance of ap_strchr() in xs/Apache2/Module/Apache2__Module.h
> to be strchr() instead and then rebuild. Does that make the problem go
> away?
> 
> 
> On 9 April 2015 at 18:16, Steve Hay <[email protected]> wrote:
> > Can you see where the -DAP_DEBUG comes from, e.g. by grepping
> > /usr/local/httpd-2.4.12/bin/ap* for AP_DEBUG?
> >
> > I think that symbol is not supposed to find its way into the mod_perl
> > build options, but it's obviously getting picked up somewhere and
> > slipping through...
> >
> >
> > On 9 April 2015 at 15:05, Jie Gao <[email protected]> wrote:
> >> Hi Steve
> >>
> >> httpd is configured with "--enable-maintainer-mode".
> >>
> >> For mod_perl:
> >>
> >>     /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/httpd-2.4.12/bin/apxs MP_APR_CONFIG=/usr/local/httpd-2.4.12/bin/apr-1-config
> >>
> >> and I found the following line in the resultant Makefile:
> >>
> >> CCFLAGS =   -D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL -DMP_COMPAT_1X -DLINUX -D_REENTRANT -D_GNU_SOURCE -DAP_DEBUG
> >>
> >>
> >>
> >> Regards,
> >>
> >> Jie
> >>
> >> * Steve Hay <[email protected]> wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay <[email protected]>
> >>> To: Jie Gao <[email protected]>
> >>> CC: "[email protected]" <[email protected]>, mod_perl Dev
> >>>  <[email protected]>
> >>> Subject: Re: Trunk: APR.so won't load
> >>>
> >>> Sorry for the slow reply.
> >>>
> >>> I cannot reproduce the problem here on Windows. Your example module
> >>> loads up fine with all the "use APR" lines uncommented.
> >>>
> >>> The build system (and the means by which APR::* should be loadable
> >>> without mod_perl.so being loaded) is different on Windows, but I did
> >>> notice this:
> >>>
> >>> ap_strchr seems to only be used in xs\Apache2\Module\Apache2__Module.h
> >>> but when I run Module.c through the preprocessor I find that ap_strchr
> >>> gets changed to strchr, and the latter is simply imported from the C
> >>> run-time library.
> >>>
> >>> I guess that's down to this code in httpd.h:
> >>>
> >>> #ifdef AP_DEBUG
> >>>
> >>> #undef strchr
> >>> # define strchr(s, c)  ap_strchr(s,c)
> >>> #undef strrchr
> >>> # define strrchr(s, c) ap_strrchr(s,c)
> >>> #undef strstr
> >>> # define strstr(s, c)  ap_strstr(s,c)
> >>>
> >>> #else
> >>>
> >>> /** use this instead of strchr */
> >>> # define ap_strchr(s, c)     strchr(s, c)
> >>> /** use this instead of strchr */
> >>> # define ap_strchr_c(s, c)   strchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr(s, c)    strrchr(s, c)
> >>> /** use this instead of strrchr */
> >>> # define ap_strrchr_c(s, c)  strrchr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr(s, c)     strstr(s, c)
> >>> /** use this instead of strrstr*/
> >>> # define ap_strstr_c(s, c)   strstr(s, c)
> >>>
> >>> #endif
> >>>
> >>> so presumably I do not have AP_DEBUG defined for my build (even though
> >>> it was a debug build).
> >>>
> >>> It looks like AP_DEBUG should not be defined, even in maintainer mode,
> >>> according to an old Changes entry:
> >>>
> >>> remove -DAP_HAVE_DESIGNATED_INITIALIZER and -DAP_DEBUG from
> >>> MP_MAINTAINER mode to avoid collisions [Joe Orton]
> >>>
> >>> but do you somehow have AP_DEBUG defined somewhere, which causes the
> >>> replacement of ap_strchr with strchr to not happen for you?
> >>>
> >>>
> >>> On 27 March 2015 at 09:14, Jie Gao <[email protected]> wrote:
> >>> > Hi All
> >>> >
> >>> > I had some more time looking into this, and here's some info I can provide.
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > # readelf -a /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so
> >>> > ELF Header:
> >>> >   Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
> >>> >   Class:                             ELF64
> >>> >   Data:                              2's complement, little endian
> >>> >   Version:                           1 (current)
> >>> >   OS/ABI:                            UNIX - System V
> >>> >   ABI Version:                       0
> >>> >   Type:                              DYN (Shared object file)
> >>> >   Machine:                           Advanced Micro Devices X86-64
> >>> >   Version:                           0x1
> >>> >   Entry point address:               0x1cb0
> >>> >   Start of program headers:          64 (bytes into file)
> >>> >   Start of section headers:          15480 (bytes into file)
> >>> >   Flags:                             0x0
> >>> >   Size of this header:               64 (bytes)
> >>> >   Size of program headers:           56 (bytes)
> >>> >   Number of program headers:         6
> >>> >   Size of section headers:           64 (bytes)
> >>> >   Number of section headers:         29
> >>> >   Section header string table index: 26
> >>> >
> >>> > Section Headers:
> >>> >   [Nr] Name              Type             Address           Offset
> >>> >        Size              EntSize          Flags  Link  Info  Align
> >>> >   [ 0]                   NULL             0000000000000000  00000000
> >>> >        0000000000000000  0000000000000000           0     0     0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Dynamic section at offset 0x36f8 contains 27 entries:
> >>> >   Tag        Type                         Name/Value
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libaprutil-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libexpat.so.1]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libapr-1.so.0]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libcrypt.so.1]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
> >>> >  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> >>> >  0x000000000000000f (RPATH)              Library rpath: [/usr/local/httpd-2.4.12/lib:/lib/../lib64]
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Relocation section '.rela.plt' at offset 0x1300 contains 61 entries:
> >>> >   Offset          Info           Type           Sym. Value    Sym. Name + Addend
> >>> > 000000203930  000200000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_mg_get + 0
> >>> > 000000203938  000300000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_setiv + 0
> >>> > 000000203940  000400000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_sv_bless + 0
> >>> > 000000203948  000500000007 R_X86_64_JUMP_SLO 0000000000000000 apr_strerror + 0
> >>> > 000000203950  000600000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_require_pv + 0
> >>> > 000000203958  000700000007 R_X86_64_JUMP_SLO 0000000000000000 Perl_warn + 0
> >>> > 000000203960  000800000007 R_X86_64_JUMP_SLO 0000000000000000 PerlIO_printf + 0
> >>> > 000000203968  000900000007 R_X86_64_JUMP_SLO 0000000000000000 ap_strchr + 0
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.dynsym' contains 86 entries:
> >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 00000000000018b8     0 SECTION LOCAL  DEFAULT    9
> >>> >      2: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_mg_get
> >>> >      3: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_setiv
> >>> >      4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_sv_bless
> >>> >      5: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND apr_strerror
> >>> >      6: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_require_pv
> >>> >      7: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND Perl_warn
> >>> >      8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND PerlIO_printf
> >>> >      9: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > Symbol table '.symtab' contains 143 entries:
> >>> >    Num:    Value          Size Type    Bind   Vis      Ndx Name
> >>> >      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
> >>> >      1: 0000000000000190     0 SECTION LOCAL  DEFAULT    1
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> >     69: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND ap_strchr
> >>> >
> >>> >
> >>> > [ Lines removed for clarity ]
> >>> >
> >>> > --------------------------------------------------------------------------
> >>> >
> >>> > It seems that ap_strchr is not defined anywhere outside httpd, and not in
> >>> > any of the shared libs. This seems to create the problem when building
> >>> > a module with mod_perl or outside the mod_perl source.
> >>> >
> >>> > I find a somewhat related change by Stas in the past in the Changes file:
> >>> >
> >>> > bug reports generating code: [Stas]
> >>> > - add (apr|apu)-config linking info
> >>> > - show the full path to the config file used to get the data for the
> >>> >   report
> >>> >
> >>> > The APR and APR::* family of modules can now be used without having
> >>> > to load mod_perl.so. On *nix, this is done by compiling the needed
> >>> > functions from the appropriate sources used to build mod_perl.so
> >>> > into APR.so, and then arranging for APR::* to 'use APR ()'. On Win32,
> >>> > a static library of needed functions is built, and APR/APR::*
> >>> > then link into this library [Stas, Joe Schaefer, Randy Kobes]
> >>> >
> >>> >
> >>> > I hope this helps resolve this issue in any way.
> >>> >
> >>> >
> >>> >
> >>> >
> >>> >
> >>> > Regards,
> >>> >
> >>> > Jie
> >>> >
> >>> > * Jie Gao <[email protected]> wrote:
> >>> >
> >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >>> >> From: Jie Gao <[email protected]>
> >>> >> To: "[email protected]" <[email protected]>, mod_perl Dev
> >>> >>  <[email protected]>
> >>> >> Subject: Trunk: APR.so won't load
> >>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
> >>> >>
> >>> >> I have got the source code from the trunk, "make test" mostly passed except for
> >>> >> a threading issue, but I installed it anyway.
> >>> >>
> >>> >> Tried to load a test module, but it fails with the following error:
> >>> >>
> >>> >> #     Error:  Can't load '/usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so' for module APR: /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/auto/APR/APR.so: undefined symbol: ap_strchr at /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi/DynaLoader.pm line 193.
> >>> >> #  at /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi/APR/Table.pm line 23.
> >>> >>
> >>> >> The following test module loads OK, but fails if I uncomment any of the "use APR::*" lines:
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> package mytest::mytestmodule;
> >>> >>
> >>> >> use 5.010001;
> >>> >> use strict;
> >>> >> use warnings;
> >>> >> use Carp;
> >>> >> $SIG{__DIE__} = \&Carp::confess;
> >>> >>
> >>> >> use mod_perl2;
> >>> >> use Apache2::Connection();
> >>> >> use Apache2::RequestRec();
> >>> >> use Apache2::SubRequest();
> >>> >> use Apache2::Access();
> >>> >> use Apache2::RequestUtil();
> >>> >> use Apache2::Response();
> >>> >> use Apache2::Log();
> >>> >> use Apache2::Util();
> >>> >> use Apache2::Const ("-compile", qw(:common :methods :satisfy :auth MODE_READBYTES));
> >>> >> use Apache2::URI();
> >>> >> use Apache2::Filter ();
> >>> >> #use APR::Const ("-compile", qw(:common SUCCESS BLOCK_READ));
> >>> >> use IO::Socket qw(SOCK_STREAM);
> >>> >> use Data::Dumper;
> >>> >> use AnyDBM_File ();
> >>> >> #use APR::Brigade ();
> >>> >> #use APR::Bucket ();
> >>> >> #use APR::Base64 ();
> >>> >> #use APR::Table ();
> >>> >> #use APR::URI ();
> >>> >> use URI::Escape::XS qw/uri_escape uri_unescape/;
> >>> >> #use Apache2::MPM();
> >>> >>
> >>> >> our $VERSION = '1.0.1';
> >>> >>
> >>> >> 1;
> >>> >> __END__
> >>> >>
> >>> >> #-------------------------------------------------------------------------
> >>> >>
> >>> >> -------------8<---------- Start Bug Report ------------8<----------
> >>> >> 1. Problem Description:
> >>> >>
> >>> >>   [DESCRIBE THE PROBLEM HERE]
> >>> >>
> >>> >> 2. Used Components and their Configuration:
> >>> >>
> >>> >> *** mod_perl version 2.000009
> >>> >>
> >>> >> *** using /usr/local/src/mod_perl-2.0/lib/Apache2/BuildConfig.pm
> >>> >>
> >>> >> *** Makefile.PL options:
> >>> >>   MP_APR_CONFIG  => /usr/local/httpd-2.4.12/bin/apr-1-config
> >>> >>   MP_APR_LIB     => aprext
> >>> >>   MP_APXS        => /usr/local/httpd-2.4.12/bin/apxs
> >>> >>   MP_COMPAT_1X   => 1
> >>> >>   MP_GENERATE_XS => 1
> >>> >>   MP_LIBNAME     => mod_perl
> >>> >>   MP_USE_DSO     => 1
> >>> >>
> >>> >>
> >>> >> *** /usr/local/httpd-2.4.12/bin/httpd -V
> >>> >> Server version: Apache/2.4.12 (Unix)
> >>> >> Server built:   Feb 27 2015 20:05:23
> >>> >> Server's Module Magic Number: 20120211:41
> >>> >> Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Compiled using: APR 1.5.1, APR-UTIL 1.5.4
> >>> >> Architecture:   64-bit
> >>> >> Server MPM:     worker
> >>> >>   threaded:     yes (fixed thread count)
> >>> >>     forked:     yes (variable process count)
> >>> >> Server compiled with....
> >>> >>  -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=256
> >>> >>  -D HTTPD_ROOT="/usr/local/httpd-2.4.12"
> >>> >>  -D SUEXEC_BIN="/usr/local/httpd-2.4.12/bin/suexec"
> >>> >>
> >>> >>
> >>> >> *** /usr/bin/ldd /usr/local/httpd-2.4.12/bin/httpd
> >>> >>         linux-vdso.so.1 =>  (0x00007fffcefff000)
> >>> >>         libpcre.so.0 => /lib64/libpcre.so.0 (0x000000327f400000)
> >>> >>         libaprutil-1.so.0 => /usr/local/httpd-2.4.12/lib/libaprutil-1.so.0 (0x00007f3ba864c000)
> >>> >>         libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003281c00000)
> >>> >>         libapr-1.so.0 => /usr/local/httpd-2.4.12/lib/libapr-1.so.0 (0x00007f3ba8417000)
> >>> >>         librt.so.1 => /lib64/librt.so.1 (0x000000327dc00000)
> >>> >>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000036c2400000)
> >>> >>         libpthread.so.0 => /lib64/libpthread.so.0 (0x000000327d400000)
> >>> >>         libc.so.6 => /lib64/libc.so.6 (0x000000327d000000)
> >>> >>         /lib64/ld-linux-x86-64.so.2 (0x000000327cc00000)
> >>> >>         libfreebl3.so => /lib64/libfreebl3.so (0x00000036c2800000)
> >>> >>         libdl.so.2 => /lib64/libdl.so.2 (0x000000327d800000)
> >>> >>
> >>> >>
> >>> >> *** (apr|apu)-config linking info
> >>> >>
> >>> >>  -L/usr/local/httpd-2.4.12/lib -laprutil-1     -lexpat
> >>> >>  -L/usr/local/httpd-2.4.12/lib -lapr-1 -lrt -lcrypt  -lpthread
> >>> >>
> >>> >>
> >>> >>
> >>> >> *** /usr/local/bin/perl -V
> >>> >> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
> >>> >>
> >>> >>   Platform:
> >>> >>     osname=linux, osvers=2.6.32-504.8.1.el6.x86_64, archname=x86_64-linux-thread-multi
> >>> >>     uname='linux xxx.xxx.xxx.xx 2.6.32-504.8.1.el6.x86_64 #1 smp fri dec 19 12:09:25 est 2014 x86_64 x86_64 x86_64 gnulinux '
> >>> >>     config_args='-Dusethreads -Dprefix=/usr/local -des -A ccflags=-fPIC'
> >>> >>     hint=recommended, useposix=true, d_sigaction=define
> >>> >>     useithreads=define, usemultiplicity=define
> >>> >>     use64bitint=define, use64bitall=define, uselongdouble=undef
> >>> >>     usemymalloc=n, bincompat5005=undef
> >>> >>   Compiler:
> >>> >>     cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> >>> >>     optimize='-O2',
> >>> >>     cppflags='-D_REENTRANT -D_GNU_SOURCE -fPIC -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
> >>> >>     ccversion='', gccversion='4.4.7 20120313 (Red Hat 4.4.7-11)', gccosandvers=''
> >>> >>     intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
> >>> >>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
> >>> >>     ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
> >>> >>     alignbytes=8, prototype=define
> >>> >>   Linker and Libraries:
> >>> >>     ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
> >>> >>     libpth=/usr/local/lib /usr/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64
> >>> >>     libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
> >>> >>     libc=libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
> >>> >>     gnulibc_version='2.12'
> >>> >>   Dynamic Linking:
> >>> >>     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
> >>> >>     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
> >>> >>
> >>> >>
> >>> >> Characteristics of this binary (from libperl):
> >>> >>   Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> >>> >>                         PERL_DONT_CREATE_GVSV
> >>> >>                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> >>> >>                         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> >>> >>                         PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> >>> >>                         USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
> >>> >>                         USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> >>> >>                         USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> >>> >>                         USE_PERL_ATOF USE_REENTRANT_API
> >>> >>   Built under linux
> >>> >>   Compiled at Feb 25 2015 15:58:55
> >>> >>   %ENV:
> >>> >>     PERL_LWP_USE_HTTP_10="1"
> >>> >>   @INC:
> >>> >>     /usr/local/lib/perl5/site_perl/5.20.2/x86_64-linux-thread-multi
> >>> >>     /usr/local/lib/perl5/site_perl/5.20.2
> >>> >>     /usr/local/lib/perl5/5.20.2/x86_64-linux-thread-multi
> >>> >>     /usr/local/lib/perl5/5.20.2
> >>> >>     /usr/local/lib/perl5/site_perl/5.18.2
> >>> >>     /usr/local/lib/perl5/site_perl/5.18.0
> >>> >>     /usr/local/lib/perl5/site_perl
> >>> >>     .
> >>> >>
> >>> >> *** Packages of interest status:
> >>> >>
> >>> >> Apache2            : -
> >>> >> Apache2::Request   : -
> >>> >> CGI                : 3.65
> >>> >> ExtUtils::MakeMaker: 6.98
> >>> >> LWP                : 5.837
> >>> >> mod_perl           : -
> >>> >> mod_perl2          : 2.000009
> >>> >>
> >>> >>
> >>> >> 3. This is the core dump trace: (if you get a core dump):
> >>> >>
> >>> >>   [CORE TRACE COMES HERE]
> >>> >>
> >>> >> This report was generated by bin/mp2bug on Sun Mar  1 06:21:21 2015 GMT.
> >>> >>
> >>> >> -------------8<---------- End Bug Report --------------8<----------
> >>> >>
> >>> >> # ls -al /usr/local/httpd-2.4.12/lib/
> >>> >> total 4108
> >>> >> drwxr-xr-x.  4 root root    4096 Feb 27 20:07 .
> >>> >> drwxr-xr-x. 15 root root    4096 Feb 27 20:07 ..
> >>> >> -rw-r--r--.  1 root root    9262 Feb 27 20:07 apr.exp
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 apr-util-1
> >>> >> -rw-r--r--.  1 root root    5272 Feb 27 20:07 aprutil.exp
> >>> >> -rw-r--r--.  1 root root 1685642 Feb 27 20:07 libapr-1.a
> >>> >> -rwxr-xr-x.  1 root root     969 Feb 27 20:07 libapr-1.la
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so -> libapr-1.so.0.5.1
> >>> >> lrwxrwxrwx.  1 root root      17 Feb 27 20:07 libapr-1.so.0 -> libapr-1.so.0.5.1
> >>> >> -rwxr-xr-x.  1 root root  858051 Feb 27 20:07 libapr-1.so.0.5.1
> >>> >> -rw-r--r--.  1 root root 1022024 Feb 27 20:07 libaprutil-1.a
> >>> >> -rwxr-xr-x.  1 root root    1045 Feb 27 20:07 libaprutil-1.la
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so -> libaprutil-1.so.0.5.4
> >>> >> lrwxrwxrwx.  1 root root      21 Feb 27 20:07 libaprutil-1.so.0 -> libaprutil-1.so.0.5.4
> >>> >> -rwxr-xr-x.  1 root root  589222 Feb 27 20:07 libaprutil-1.so.0.5.4
> >>> >> drwxr-xr-x.  2 root root    4096 Feb 27 20:07 pkgconfig
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >> Regards,
> >>> >>
> >>> >>
> >>> >> Jie.
> >>> >>
> >>> >>
> >>> >>
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.