Mailing List Archive

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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>
>> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> From: Jie Gao <J.Gao@sydney.edu.au>
>> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> <dev@perl.apache.org>
>> 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.
>>
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Trunk: APR.so won't load [ In reply to ]
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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
>
>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> From: Steve Hay <steve.m.hay@googlemail.com>
>> To: Jie Gao <J.Gao@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> <dev@perl.apache.org>
>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>> >
>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> <dev@perl.apache.org>
>> >> 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.
>> >>
>> >>
>> >>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Trunk: APR.so won't load [ In reply to ]
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 <steve.m.hay@googlemail.com> 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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
>>
>>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>>> From: Steve Hay <steve.m.hay@googlemail.com>
>>> To: Jie Gao <J.Gao@sydney.edu.au>
>>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>>> <dev@perl.apache.org>
>>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>>> >
>>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>>> >> <dev@perl.apache.org>
>>> >> 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.
>>> >>
>>> >>
>>> >>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Trunk: APR.so won't load [ In reply to ]
AP_DEBUG is pure evil if it's making its way into the builds of APR modules.It takes strchr and the like and REPLACES THOSE with ap_strchr.  The onlyway round this is to use apr_ stuff instead.


On Thursday, April 9, 2015 10:04 PM, Jie Gao <J.Gao@sydney.edu.au> wrote:


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 <steve.m.hay@googlemail.com> wrote:

> Date: Thu, 9 Apr 2015 18:27:51 +0100
> From: Steve Hay <steve.m.hay@googlemail.com>
> To: Jie Gao <J.Gao@sydney.edu.au>
> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>  <dev@perl.apache.org>
> 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 <steve.m.hay@googlemail.com> 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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
> >>
> >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
> >>> From: Steve Hay <steve.m.hay@googlemail.com>
> >>> To: Jie Gao <J.Gao@sydney.edu.au>
> >>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
> >>>  <dev@perl.apache.org>
> >>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
> >>> >
> >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
> >>> >> From: Jie Gao <J.Gao@sydney.edu.au>
> >>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
> >>> >>  <dev@perl.apache.org>
> >>> >> 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.
> >>> >>
> >>> >>
> >>> >>
Re: Trunk: APR.so won't load [ In reply to ]
Thanks for the extra information.

I think the build with --enable-maintainer-mode succeeded simply
because it doesn't include -DAP_DEBUG; the ap_strchr change was
probably not related.

It would be nice to allow building mod_perl with a httpd built with
--enable-maintainer-mode, and in the light of Joe's comment I think we
simply need to remove -DAP_DEBUG from the build flags.

So please could you try rebuilding again using a clean mod_perl source
tree (i.e. revert the ap_strchr change) but with the patch below
applied to it, and using an --enable-maintainer-mode httpd?

You may still have to fiddle with slotmem_shm_module as before (sorry,
I do not know what the problem is there) and I wouldn't expect the two
test failures to go away either, but I'm hopeful that this build might
at least work.

Index: lib/Apache2/Build.pm
===================================================================
--- lib/Apache2/Build.pm (revision 1673126)
+++ lib/Apache2/Build.pm (working copy)
@@ -616,6 +616,9 @@
my $extra_cppflags = $self->apxs_extra_cppflags;
$ccopts .= " " . $extra_cppflags;

+ # Make sure the evil AP_DEBUG is not defined when building mod_perl
+ $ccopts =~ s/ ?-DAP_DEBUG\b//;
+
$ccopts;
}


On 13 April 2015 at 03:37, Jie Gao <J.Gao@sydney.edu.au> wrote:
> Hi Steve
>
> I took some time to look further into this problem:
>
>> [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??
>
> and I found that the apache build process does not allow
> slotmem_shm_module to be loaded by default, i.e. "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
> httpd.conf.
>
> Uncommenting that line made this problem go away.
>
> At the end of the process (with Apache built without
> "--enable-maintainer-mode", and with ap_strchr replaced with
> strchr, which you suggested (but may not be necessary here without
> "--enable-maintainer-mode", I could load my modules successfully.
>
> There were still some errors when running "make test" for mod_perl:
>
>
> ...
> t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
> # Failed test 5 in t/hooks/authen_digest.t at line 38
> # Failed test 6 in t/hooks/authen_digest.t at line 42
> # Failed test 7 in t/hooks/authen_digest.t at line 46
> t/hooks/authen_digest.t ................. Failed 4/7 subtests
> ...
> t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t ...................... Failed 3/6 subtests
>
> Here is some more info:
>
> [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
> jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
> [warning] setting ulimit to allow core files
> ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
> /usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
> using Apache/2.4.12 (worker MPM)
>
> waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
> [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
> [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
> [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
> ...
> waiting 300 seconds for server to start: ok (waited 2 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::perl_options2)
> server localhost:8534 listening (TestModperl::perl_options)
> server localhost:8535 listening (TestModperl::setupenv)
> server localhost:8536 listening (TestModperl::merge)
> server localhost:8537 listening (TestUser::rewrite)
> server localhost:8538 listening (TestModules::proxy)
> server localhost:8539 listening (TestVhost::config)
> server localhost:8540 listening (TestVhost::log)
> server localhost:8541 listening (TestDirective::perlcleanuphandler)
> server localhost:8542 listening (TestProtocol::eliza)
> server localhost:8543 listening (TestProtocol::echo_nonblock)
> server localhost:8544 listening (TestProtocol::echo_block)
> server localhost:8545 listening (TestProtocol::echo_timeout)
> server localhost:8546 listening (TestProtocol::echo_bbs2)
> server localhost:8547 listening (TestProtocol::pseudo_http)
> server localhost:8548 listening (TestProtocol::echo_filter)
> server localhost:8549 listening (TestProtocol::echo_bbs)
> server localhost:8550 listening (TestPreConnection::note)
> server localhost:8551 listening (TestHooks::startup)
> server localhost:8552 listening (TestHooks::hookrun)
> server localhost:8553 listening (TestHooks::trans)
> server localhost:8554 listening (TestHooks::stacked_handlers2)
> server localhost:8555 listening (TestHooks::init)
> server localhost:8556 listening (TestFilter::both_str_con_add)
> server localhost:8557 listening (TestFilter::in_bbs_inject_header)
> server localhost:8558 listening (TestFilter::in_str_msg)
> server localhost:8559 listening (TestFilter::in_bbs_msg)
> server localhost:8560 listening (TestDirective::perlrequire)
> server localhost:8561 listening (TestDirective::perlmodule)
> server localhost:8562 listening (TestPerl::ithreads)
> server localhost:8563 listening (TestPerl::ithreads3)
> server localhost:8564 listening (TestDirective::perlloadmodule3)
> server localhost:8565 listening (TestDirective::perlloadmodule5)
> server localhost:8566 listening (TestDirective::perlloadmodule4)
> server localhost:8567 listening (TestAPI::add_config)
> server localhost:8568 listening (TestDirective::perlloadmodule6)
> server localhost:8569 listening (TestHooks::push_handlers_anon)
> t/hooks/authen_digest.t ..
> 1..7
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Apr 13 12:28:20 2015
> # Current time GMT: Mon Apr 13 02:28:20 2015
> # Using Test.pm version 1.26
> # Using Apache/Test.pm version 1.38
> # testing : handler returned HTTP_OK
> # expected: 200
> # received: '200'
> ok 1
> # response had no WWW-Authenticate header
> ok 2
> # testing : handler returned HTTP_UNAUTHORIZED
> # expected: 401
> # received: '401'
> ok 3
> # response had a WWW-Authenticate header
> not ok 4
> # Failed test 4 in t/hooks/authen_digest.t at line 36
> # testing : response is using Digest authentication scheme
> # expected: qr/^Digest/
> # received: undef
> not ok 5
> # Failed test 5 in t/hooks/authen_digest.t at line 38
> # testing : WWW-Authenticate header contains the proper realm
> # expected: qr/realm="Simple Digest"/
> # received: undef
> not ok 6
> # Failed test 6 in t/hooks/authen_digest.t at line 42
> # testing : WWW-Authenticate header contains a nonce
> # expected: qr/nonce="/
> # received: undef
> not ok 7
> # Failed test 7 in t/hooks/authen_digest.t at line 46
> Failed 4/7 subtests
> t/perl/ithreads3.t .......
> 1..6
> # Running under perl version 5.020002 for linux
> # Current time local: Mon Apr 13 12:28:21 2015
> # Current time GMT: Mon Apr 13 02:28:21 2015
> # Using Test.pm version 1.26
> # Using Apache/Test.pm version 1.38
> # connecting to http://localhost:8563/
> # testing : perl-script 1
> # expected: 2
> # received: '2'
> ok 1
> # testing : modperl 1
> # expected: 2
> # received: '2'
> ok 2
> # testing : perl-script 2
> # expected: 5
> # received: '2'
> not ok 3
> # Failed test 3 in t/perl/ithreads3.t at line 32
> # testing : modperl 2
> # expected: 5
> # received: '3'
> not ok 4
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # testing : perl-script 3
> # expected: 3
> # received: '2'
> not ok 5
> # Failed test 5 in t/perl/ithreads3.t at line 35
> # testing : modperl 3
> # expected: 3
> # received: '3'
> ok 6
> Failed 3/6 subtests
>
> Test Summary Report
> -------------------
> t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
> Failed tests: 4-7
> t/perl/ithreads3.t (Wstat: 0 Tests: 6 Failed: 3)
> Failed tests: 3-5
> Files=2, Tests=13, 2 wallclock secs ( 0.05 usr 0.02 sys + 0.99 cusr 0.31 csys = 1.37 CPU)
> Result: FAIL
> Failed 2/2 test programs. 7/13 subtests failed.
> [warning] server localhost:8529 shutdown
> [warning] port 8529 still in use...
> ...done
> [ error] error running tests (please examine t/logs/error_log)
>
> # cat less 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=25085
> END in modperl_extra.pl, pid=25085
> [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
> [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
> [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
> [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
> [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
> [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
> [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
> [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
> [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
> [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
> [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
> [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
> [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
> END in modperl_extra.pl, pid=25093
> END in modperl_extra.pl, pid=25093
> [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
> [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
> ********************************************************************************
> *** 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=25089
> END in modperl_extra.pl, pid=25089
>
> BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>
>
>
> Regards,
>
>
> Jie
>
> * Jie Gao <J.Gao@sydney.edu.au> wrote:
>
>> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> From: Jie Gao <J.Gao@sydney.edu.au>
>> To: Steve Hay <steve.m.hay@googlemail.com>
>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> <dev@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>> User-Agent: Mutt/1.5.21 (2010-09-15)
>>
>> 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 <steve.m.hay@googlemail.com> wrote:
>>
>> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> > From: Steve Hay <steve.m.hay@googlemail.com>
>> > To: Jie Gao <J.Gao@sydney.edu.au>
>> > CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> > <dev@perl.apache.org>
>> > 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 <steve.m.hay@googlemail.com> 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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
>> > >>
>> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> > >>> From: Steve Hay <steve.m.hay@googlemail.com>
>> > >>> To: Jie Gao <J.Gao@sydney.edu.au>
>> > >>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> > >>> <dev@perl.apache.org>
>> > >>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>> > >>> >
>> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> > >>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> > >>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> > >>> >> <dev@perl.apache.org>
>> > >>> >> 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.
>> > >>> >>
>> > >>> >>
>> > >>> >>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Trunk: APR.so won't load [ In reply to ]
That's great news! Was that with the AP_DEBUG patch to
lib/Apache2/Build.pm that I posted last time, or did it just work
without that anyway?

On 14 April 2015 at 05:13, Jie Gao <J.Gao@sydney.edu.au> wrote:
> Hi Steve
>
> I got the src from trunk again and rebuilt httpd with
> "--enable-maintainer-mode", just as you requested, and "make test"
> passed with my module!
>
> Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
> commented out this time for some reason.
>
> Still had this when running make test with mod_perl:
>
> t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
> # Failed test 4 in t/perl/ithreads3.t at line 33
> # Failed test 5 in t/perl/ithreads3.t at line 35
> t/perl/ithreads3.t ...................... Failed 3/6 subtests
>
> Thanks very much for your help!
>
>
> Regards,
>
> Jie
>
> * Steve Hay <steve.m.hay@googlemail.com> wrote:
>
>> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> From: Steve Hay <steve.m.hay@googlemail.com>
>> To: Jie Gao <J.Gao@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> <dev@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> Thanks for the extra information.
>>
>> I think the build with --enable-maintainer-mode succeeded simply
>> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> probably not related.
>>
>> It would be nice to allow building mod_perl with a httpd built with
>> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> simply need to remove -DAP_DEBUG from the build flags.
>>
>> So please could you try rebuilding again using a clean mod_perl source
>> tree (i.e. revert the ap_strchr change) but with the patch below
>> applied to it, and using an --enable-maintainer-mode httpd?
>>
>> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> I do not know what the problem is there) and I wouldn't expect the two
>> test failures to go away either, but I'm hopeful that this build might
>> at least work.
>>
>> Index: lib/Apache2/Build.pm
>> ===================================================================
>> --- lib/Apache2/Build.pm (revision 1673126)
>> +++ lib/Apache2/Build.pm (working copy)
>> @@ -616,6 +616,9 @@
>> my $extra_cppflags = $self->apxs_extra_cppflags;
>> $ccopts .= " " . $extra_cppflags;
>>
>> + # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> + $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> +
>> $ccopts;
>> }
>>
>>
>> On 13 April 2015 at 03:37, Jie Gao <J.Gao@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I took some time to look further into this problem:
>> >
>> >> [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??
>> >
>> > and I found that the apache build process does not allow
>> > slotmem_shm_module to be loaded by default, i.e. "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> > httpd.conf.
>> >
>> > Uncommenting that line made this problem go away.
>> >
>> > At the end of the process (with Apache built without
>> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> > strchr, which you suggested (but may not be necessary here without
>> > "--enable-maintainer-mode", I could load my modules successfully.
>> >
>> > There were still some errors when running "make test" for mod_perl:
>> >
>> >
>> > ...
>> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> > ...
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Here is some more info:
>> >
>> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> > [warning] setting ulimit to allow core files
>> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> > /usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> > using Apache/2.4.12 (worker MPM)
>> >
>> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> > ...
>> > waiting 300 seconds for server to start: ok (waited 2 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::perl_options2)
>> > server localhost:8534 listening (TestModperl::perl_options)
>> > server localhost:8535 listening (TestModperl::setupenv)
>> > server localhost:8536 listening (TestModperl::merge)
>> > server localhost:8537 listening (TestUser::rewrite)
>> > server localhost:8538 listening (TestModules::proxy)
>> > server localhost:8539 listening (TestVhost::config)
>> > server localhost:8540 listening (TestVhost::log)
>> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> > server localhost:8542 listening (TestProtocol::eliza)
>> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> > server localhost:8544 listening (TestProtocol::echo_block)
>> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> > server localhost:8548 listening (TestProtocol::echo_filter)
>> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> > server localhost:8550 listening (TestPreConnection::note)
>> > server localhost:8551 listening (TestHooks::startup)
>> > server localhost:8552 listening (TestHooks::hookrun)
>> > server localhost:8553 listening (TestHooks::trans)
>> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> > server localhost:8555 listening (TestHooks::init)
>> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> > server localhost:8558 listening (TestFilter::in_str_msg)
>> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> > server localhost:8560 listening (TestDirective::perlrequire)
>> > server localhost:8561 listening (TestDirective::perlmodule)
>> > server localhost:8562 listening (TestPerl::ithreads)
>> > server localhost:8563 listening (TestPerl::ithreads3)
>> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> > server localhost:8567 listening (TestAPI::add_config)
>> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> > t/hooks/authen_digest.t ..
>> > 1..7
>> > # Running under perl version 5.020002 for linux
>> > # Current time local: Mon Apr 13 12:28:20 2015
>> > # Current time GMT: Mon Apr 13 02:28:20 2015
>> > # Using Test.pm version 1.26
>> > # Using Apache/Test.pm version 1.38
>> > # testing : handler returned HTTP_OK
>> > # expected: 200
>> > # received: '200'
>> > ok 1
>> > # response had no WWW-Authenticate header
>> > ok 2
>> > # testing : handler returned HTTP_UNAUTHORIZED
>> > # expected: 401
>> > # received: '401'
>> > ok 3
>> > # response had a WWW-Authenticate header
>> > not ok 4
>> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> > # testing : response is using Digest authentication scheme
>> > # expected: qr/^Digest/
>> > # received: undef
>> > not ok 5
>> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> > # testing : WWW-Authenticate header contains the proper realm
>> > # expected: qr/realm="Simple Digest"/
>> > # received: undef
>> > not ok 6
>> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> > # testing : WWW-Authenticate header contains a nonce
>> > # expected: qr/nonce="/
>> > # received: undef
>> > not ok 7
>> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> > Failed 4/7 subtests
>> > t/perl/ithreads3.t .......
>> > 1..6
>> > # Running under perl version 5.020002 for linux
>> > # Current time local: Mon Apr 13 12:28:21 2015
>> > # Current time GMT: Mon Apr 13 02:28:21 2015
>> > # Using Test.pm version 1.26
>> > # Using Apache/Test.pm version 1.38
>> > # connecting to http://localhost:8563/
>> > # testing : perl-script 1
>> > # expected: 2
>> > # received: '2'
>> > ok 1
>> > # testing : modperl 1
>> > # expected: 2
>> > # received: '2'
>> > ok 2
>> > # testing : perl-script 2
>> > # expected: 5
>> > # received: '2'
>> > not ok 3
>> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # testing : modperl 2
>> > # expected: 5
>> > # received: '3'
>> > not ok 4
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # testing : perl-script 3
>> > # expected: 3
>> > # received: '2'
>> > not ok 5
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > # testing : modperl 3
>> > # expected: 3
>> > # received: '3'
>> > ok 6
>> > Failed 3/6 subtests
>> >
>> > Test Summary Report
>> > -------------------
>> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> > Failed tests: 4-7
>> > t/perl/ithreads3.t (Wstat: 0 Tests: 6 Failed: 3)
>> > Failed tests: 3-5
>> > Files=2, Tests=13, 2 wallclock secs ( 0.05 usr 0.02 sys + 0.99 cusr 0.31 csys = 1.37 CPU)
>> > Result: FAIL
>> > Failed 2/2 test programs. 7/13 subtests failed.
>> > [warning] server localhost:8529 shutdown
>> > [warning] port 8529 still in use...
>> > ...done
>> > [ error] error running tests (please examine t/logs/error_log)
>> >
>> > # cat less 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=25085
>> > END in modperl_extra.pl, pid=25085
>> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> > END in modperl_extra.pl, pid=25093
>> > END in modperl_extra.pl, pid=25093
>> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> > ********************************************************************************
>> > *** 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=25089
>> > END in modperl_extra.pl, pid=25089
>> >
>> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >
>> >
>> >
>> > Regards,
>> >
>> >
>> > Jie
>> >
>> > * Jie Gao <J.Gao@sydney.edu.au> wrote:
>> >
>> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> To: Steve Hay <steve.m.hay@googlemail.com>
>> >> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> <dev@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >>
>> >> 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 <steve.m.hay@googlemail.com> wrote:
>> >>
>> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> > From: Steve Hay <steve.m.hay@googlemail.com>
>> >> > To: Jie Gao <J.Gao@sydney.edu.au>
>> >> > CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> > <dev@perl.apache.org>
>> >> > 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 <steve.m.hay@googlemail.com> 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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
>> >> > >>
>> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> > >>> From: Steve Hay <steve.m.hay@googlemail.com>
>> >> > >>> To: Jie Gao <J.Gao@sydney.edu.au>
>> >> > >>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> > >>> <dev@perl.apache.org>
>> >> > >>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>> >> > >>> >
>> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> > >>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> > >>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> > >>> >> <dev@perl.apache.org>
>> >> > >>> >> 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.
>> >> > >>> >>
>> >> > >>> >>
>> >> > >>> >>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: Trunk: APR.so won't load [ In reply to ]
Excellent! I guess that's fixed it then, so I will apply that patch.
Many thanks for testing.

On 14 April 2015 at 08:37, Jie Gao <J.Gao@sydney.edu.au> wrote:
> Hi Steve
>
> Yes, I applied the AP_DEBUG patch.
>
> Regards,
>
> Jie
>
> * Steve Hay <steve.m.hay@googlemail.com> wrote:
>
>> Date: Tue, 14 Apr 2015 08:32:29 +0100
>> From: Steve Hay <steve.m.hay@googlemail.com>
>> To: Jie Gao <J.Gao@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> <dev@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> That's great news! Was that with the AP_DEBUG patch to
>> lib/Apache2/Build.pm that I posted last time, or did it just work
>> without that anyway?
>>
>> On 14 April 2015 at 05:13, Jie Gao <J.Gao@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I got the src from trunk again and rebuilt httpd with
>> > "--enable-maintainer-mode", just as you requested, and "make test"
>> > passed with my module!
>> >
>> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
>> > commented out this time for some reason.
>> >
>> > Still had this when running make test with mod_perl:
>> >
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Thanks very much for your help!
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Steve Hay <steve.m.hay@googlemail.com> wrote:
>> >
>> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> >> From: Steve Hay <steve.m.hay@googlemail.com>
>> >> To: Jie Gao <J.Gao@sydney.edu.au>
>> >> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> <dev@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >>
>> >> Thanks for the extra information.
>> >>
>> >> I think the build with --enable-maintainer-mode succeeded simply
>> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> >> probably not related.
>> >>
>> >> It would be nice to allow building mod_perl with a httpd built with
>> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> >> simply need to remove -DAP_DEBUG from the build flags.
>> >>
>> >> So please could you try rebuilding again using a clean mod_perl source
>> >> tree (i.e. revert the ap_strchr change) but with the patch below
>> >> applied to it, and using an --enable-maintainer-mode httpd?
>> >>
>> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> >> I do not know what the problem is there) and I wouldn't expect the two
>> >> test failures to go away either, but I'm hopeful that this build might
>> >> at least work.
>> >>
>> >> Index: lib/Apache2/Build.pm
>> >> ===================================================================
>> >> --- lib/Apache2/Build.pm (revision 1673126)
>> >> +++ lib/Apache2/Build.pm (working copy)
>> >> @@ -616,6 +616,9 @@
>> >> my $extra_cppflags = $self->apxs_extra_cppflags;
>> >> $ccopts .= " " . $extra_cppflags;
>> >>
>> >> + # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> >> + $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> >> +
>> >> $ccopts;
>> >> }
>> >>
>> >>
>> >> On 13 April 2015 at 03:37, Jie Gao <J.Gao@sydney.edu.au> wrote:
>> >> > Hi Steve
>> >> >
>> >> > I took some time to look further into this problem:
>> >> >
>> >> >> [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??
>> >> >
>> >> > and I found that the apache build process does not allow
>> >> > slotmem_shm_module to be loaded by default, i.e. "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> >> > httpd.conf.
>> >> >
>> >> > Uncommenting that line made this problem go away.
>> >> >
>> >> > At the end of the process (with Apache built without
>> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> >> > strchr, which you suggested (but may not be necessary here without
>> >> > "--enable-maintainer-mode", I could load my modules successfully.
>> >> >
>> >> > There were still some errors when running "make test" for mod_perl:
>> >> >
>> >> >
>> >> > ...
>> >> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> >> > ...
>> >> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >> >
>> >> > Here is some more info:
>> >> >
>> >> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> >> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> >> > [warning] setting ulimit to allow core files
>> >> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> >> > /usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> >> > using Apache/2.4.12 (worker MPM)
>> >> >
>> >> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> >> > ...
>> >> > waiting 300 seconds for server to start: ok (waited 2 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::perl_options2)
>> >> > server localhost:8534 listening (TestModperl::perl_options)
>> >> > server localhost:8535 listening (TestModperl::setupenv)
>> >> > server localhost:8536 listening (TestModperl::merge)
>> >> > server localhost:8537 listening (TestUser::rewrite)
>> >> > server localhost:8538 listening (TestModules::proxy)
>> >> > server localhost:8539 listening (TestVhost::config)
>> >> > server localhost:8540 listening (TestVhost::log)
>> >> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> >> > server localhost:8542 listening (TestProtocol::eliza)
>> >> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> >> > server localhost:8544 listening (TestProtocol::echo_block)
>> >> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> >> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> >> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> >> > server localhost:8548 listening (TestProtocol::echo_filter)
>> >> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> >> > server localhost:8550 listening (TestPreConnection::note)
>> >> > server localhost:8551 listening (TestHooks::startup)
>> >> > server localhost:8552 listening (TestHooks::hookrun)
>> >> > server localhost:8553 listening (TestHooks::trans)
>> >> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> >> > server localhost:8555 listening (TestHooks::init)
>> >> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> >> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> >> > server localhost:8558 listening (TestFilter::in_str_msg)
>> >> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> >> > server localhost:8560 listening (TestDirective::perlrequire)
>> >> > server localhost:8561 listening (TestDirective::perlmodule)
>> >> > server localhost:8562 listening (TestPerl::ithreads)
>> >> > server localhost:8563 listening (TestPerl::ithreads3)
>> >> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> >> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> >> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> >> > server localhost:8567 listening (TestAPI::add_config)
>> >> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> >> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> >> > t/hooks/authen_digest.t ..
>> >> > 1..7
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:20 2015
>> >> > # Current time GMT: Mon Apr 13 02:28:20 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # testing : handler returned HTTP_OK
>> >> > # expected: 200
>> >> > # received: '200'
>> >> > ok 1
>> >> > # response had no WWW-Authenticate header
>> >> > ok 2
>> >> > # testing : handler returned HTTP_UNAUTHORIZED
>> >> > # expected: 401
>> >> > # received: '401'
>> >> > ok 3
>> >> > # response had a WWW-Authenticate header
>> >> > not ok 4
>> >> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # testing : response is using Digest authentication scheme
>> >> > # expected: qr/^Digest/
>> >> > # received: undef
>> >> > not ok 5
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # testing : WWW-Authenticate header contains the proper realm
>> >> > # expected: qr/realm="Simple Digest"/
>> >> > # received: undef
>> >> > not ok 6
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # testing : WWW-Authenticate header contains a nonce
>> >> > # expected: qr/nonce="/
>> >> > # received: undef
>> >> > not ok 7
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > Failed 4/7 subtests
>> >> > t/perl/ithreads3.t .......
>> >> > 1..6
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:21 2015
>> >> > # Current time GMT: Mon Apr 13 02:28:21 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # connecting to http://localhost:8563/
>> >> > # testing : perl-script 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 1
>> >> > # testing : modperl 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 2
>> >> > # testing : perl-script 2
>> >> > # expected: 5
>> >> > # received: '2'
>> >> > not ok 3
>> >> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # testing : modperl 2
>> >> > # expected: 5
>> >> > # received: '3'
>> >> > not ok 4
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # testing : perl-script 3
>> >> > # expected: 3
>> >> > # received: '2'
>> >> > not ok 5
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > # testing : modperl 3
>> >> > # expected: 3
>> >> > # received: '3'
>> >> > ok 6
>> >> > Failed 3/6 subtests
>> >> >
>> >> > Test Summary Report
>> >> > -------------------
>> >> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >> > Failed tests: 4-7
>> >> > t/perl/ithreads3.t (Wstat: 0 Tests: 6 Failed: 3)
>> >> > Failed tests: 3-5
>> >> > Files=2, Tests=13, 2 wallclock secs ( 0.05 usr 0.02 sys + 0.99 cusr 0.31 csys = 1.37 CPU)
>> >> > Result: FAIL
>> >> > Failed 2/2 test programs. 7/13 subtests failed.
>> >> > [warning] server localhost:8529 shutdown
>> >> > [warning] port 8529 still in use...
>> >> > ...done
>> >> > [ error] error running tests (please examine t/logs/error_log)
>> >> >
>> >> > # cat less 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=25085
>> >> > END in modperl_extra.pl, pid=25085
>> >> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> >> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> >> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> >> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> >> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> >> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> >> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> >> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> >> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> >> > END in modperl_extra.pl, pid=25093
>> >> > END in modperl_extra.pl, pid=25093
>> >> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> >> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> >> > ********************************************************************************
>> >> > *** 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=25089
>> >> > END in modperl_extra.pl, pid=25089
>> >> >
>> >> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >> >
>> >> >
>> >> >
>> >> > Regards,
>> >> >
>> >> >
>> >> > Jie
>> >> >
>> >> > * Jie Gao <J.Gao@sydney.edu.au> wrote:
>> >> >
>> >> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> To: Steve Hay <steve.m.hay@googlemail.com>
>> >> >> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> <dev@perl.apache.org>
>> >> >> Subject: Re: Trunk: APR.so won't load
>> >> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >>
>> >> >> 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 <steve.m.hay@googlemail.com> wrote:
>> >> >>
>> >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> >> > From: Steve Hay <steve.m.hay@googlemail.com>
>> >> >> > To: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> > CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> > <dev@perl.apache.org>
>> >> >> > 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 <steve.m.hay@googlemail.com> 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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
>> >> >> > >>
>> >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> >> > >>> From: Steve Hay <steve.m.hay@googlemail.com>
>> >> >> > >>> To: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> > >>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> > >>> <dev@perl.apache.org>
>> >> >> > >>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>> >> >> > >>> >
>> >> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> >> > >>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> > >>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> > >>> >> <dev@perl.apache.org>
>> >> >> > >>> >> 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.
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
RE: Trunk: APR.so won't load [ In reply to ]
Steve, do you have any particular OS/config you wish to have test results from?


-----Original Message-----
From: Steve Hay [mailto:steve.m.hay@googlemail.com]
Sent: Tuesday, April 14, 2015 9:45 AM
To: Jie Gao
Cc: modperl@perl.apache.org; mod_perl Dev
Subject: Re: Trunk: APR.so won't load

Excellent! I guess that's fixed it then, so I will apply that patch.
Many thanks for testing.

On 14 April 2015 at 08:37, Jie Gao <J.Gao@sydney.edu.au> wrote:
> Hi Steve
>
> Yes, I applied the AP_DEBUG patch.
>
> Regards,
>
> Jie
>
> * Steve Hay <steve.m.hay@googlemail.com> wrote:
>
>> Date: Tue, 14 Apr 2015 08:32:29 +0100
>> From: Steve Hay <steve.m.hay@googlemail.com>
>> To: Jie Gao <J.Gao@sydney.edu.au>
>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> <dev@perl.apache.org>
>> Subject: Re: Trunk: APR.so won't load
>>
>> That's great news! Was that with the AP_DEBUG patch to
>> lib/Apache2/Build.pm that I posted last time, or did it just work
>> without that anyway?
>>
>> On 14 April 2015 at 05:13, Jie Gao <J.Gao@sydney.edu.au> wrote:
>> > Hi Steve
>> >
>> > I got the src from trunk again and rebuilt httpd with
>> > "--enable-maintainer-mode", just as you requested, and "make test"
>> > passed with my module!
>> >
>> > Didn't have to fiddle with httpd.conf as slotmem_shm_module wasn't
>> > commented out this time for some reason.
>> >
>> > Still had this when running make test with mod_perl:
>> >
>> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >
>> > Thanks very much for your help!
>> >
>> >
>> > Regards,
>> >
>> > Jie
>> >
>> > * Steve Hay <steve.m.hay@googlemail.com> wrote:
>> >
>> >> Date: Mon, 13 Apr 2015 09:18:50 +0100
>> >> From: Steve Hay <steve.m.hay@googlemail.com>
>> >> To: Jie Gao <J.Gao@sydney.edu.au>
>> >> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> <dev@perl.apache.org>
>> >> Subject: Re: Trunk: APR.so won't load
>> >>
>> >> Thanks for the extra information.
>> >>
>> >> I think the build with --enable-maintainer-mode succeeded simply
>> >> because it doesn't include -DAP_DEBUG; the ap_strchr change was
>> >> probably not related.
>> >>
>> >> It would be nice to allow building mod_perl with a httpd built with
>> >> --enable-maintainer-mode, and in the light of Joe's comment I think we
>> >> simply need to remove -DAP_DEBUG from the build flags.
>> >>
>> >> So please could you try rebuilding again using a clean mod_perl source
>> >> tree (i.e. revert the ap_strchr change) but with the patch below
>> >> applied to it, and using an --enable-maintainer-mode httpd?
>> >>
>> >> You may still have to fiddle with slotmem_shm_module as before (sorry,
>> >> I do not know what the problem is there) and I wouldn't expect the two
>> >> test failures to go away either, but I'm hopeful that this build might
>> >> at least work.
>> >>
>> >> Index: lib/Apache2/Build.pm
>> >> ===================================================================
>> >> --- lib/Apache2/Build.pm (revision 1673126)
>> >> +++ lib/Apache2/Build.pm (working copy)
>> >> @@ -616,6 +616,9 @@
>> >> my $extra_cppflags = $self->apxs_extra_cppflags;
>> >> $ccopts .= " " . $extra_cppflags;
>> >>
>> >> + # Make sure the evil AP_DEBUG is not defined when building mod_perl
>> >> + $ccopts =~ s/ ?-DAP_DEBUG\b//;
>> >> +
>> >> $ccopts;
>> >> }
>> >>
>> >>
>> >> On 13 April 2015 at 03:37, Jie Gao <J.Gao@sydney.edu.au> wrote:
>> >> > Hi Steve
>> >> >
>> >> > I took some time to look further into this problem:
>> >> >
>> >> >> [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??
>> >> >
>> >> > and I found that the apache build process does not allow
>> >> > slotmem_shm_module to be loaded by default, i.e. "LoadModule slotmem_shm_module modules/mod_slotmem_shm.so" was commented out in
>> >> > httpd.conf.
>> >> >
>> >> > Uncommenting that line made this problem go away.
>> >> >
>> >> > At the end of the process (with Apache built without
>> >> > "--enable-maintainer-mode", and with ap_strchr replaced with
>> >> > strchr, which you suggested (but may not be necessary here without
>> >> > "--enable-maintainer-mode", I could load my modules successfully.
>> >> >
>> >> > There were still some errors when running "make test" for mod_perl:
>> >> >
>> >> >
>> >> > ...
>> >> > t/hooks/authen_digest.t ................. 1/7 # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > t/hooks/authen_digest.t ................. Failed 4/7 subtests
>> >> > ...
>> >> > t/perl/ithreads3.t ...................... 1/6 # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > t/perl/ithreads3.t ...................... Failed 3/6 subtests
>> >> >
>> >> > Here is some more info:
>> >> >
>> >> > [12:26:07]jiegao@XXXX/usr/local/src/mod_perl:975> rm t/logs/error_log
>> >> > jiegao@XXXX/usr/local/src/mod_perl:976> t/TEST -v t/hooks/authen_digest.t t/perl/ithreads3.t
>> >> > [warning] setting ulimit to allow core files
>> >> > ulimit -c unlimited; /usr/local/bin/perl /usr/local/src/mod_perl-2.0/t/TEST -v 't/hooks/authen_digest.t' 't/perl/ithreads3.t'
>> >> > /usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS
>> >> > using Apache/2.4.12 (worker MPM)
>> >> >
>> >> > waiting 300 seconds for server to start: .[Mon Apr 13 12:28:17.293771 2015] [env:warn] [pid 25085:tid 140715845183232] AH01506: PassEnv variable LD_LIBRARY_PATH was undefined
>> >> > [Mon Apr 13 12:28:17.319527 2015] [perl:info] [pid 25085:tid 140715845183232] 6 Apache2:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319576 2015] [perl:info] [pid 25085:tid 140715845183232] 0 APR:: modules loaded
>> >> > [Mon Apr 13 12:28:17.319633 2015] [perl:info] [pid 25085:tid 140715845183232] base server + 32 vhosts ready to run tests
>> >> > ...
>> >> > waiting 300 seconds for server to start: ok (waited 2 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::perl_options2)
>> >> > server localhost:8534 listening (TestModperl::perl_options)
>> >> > server localhost:8535 listening (TestModperl::setupenv)
>> >> > server localhost:8536 listening (TestModperl::merge)
>> >> > server localhost:8537 listening (TestUser::rewrite)
>> >> > server localhost:8538 listening (TestModules::proxy)
>> >> > server localhost:8539 listening (TestVhost::config)
>> >> > server localhost:8540 listening (TestVhost::log)
>> >> > server localhost:8541 listening (TestDirective::perlcleanuphandler)
>> >> > server localhost:8542 listening (TestProtocol::eliza)
>> >> > server localhost:8543 listening (TestProtocol::echo_nonblock)
>> >> > server localhost:8544 listening (TestProtocol::echo_block)
>> >> > server localhost:8545 listening (TestProtocol::echo_timeout)
>> >> > server localhost:8546 listening (TestProtocol::echo_bbs2)
>> >> > server localhost:8547 listening (TestProtocol::pseudo_http)
>> >> > server localhost:8548 listening (TestProtocol::echo_filter)
>> >> > server localhost:8549 listening (TestProtocol::echo_bbs)
>> >> > server localhost:8550 listening (TestPreConnection::note)
>> >> > server localhost:8551 listening (TestHooks::startup)
>> >> > server localhost:8552 listening (TestHooks::hookrun)
>> >> > server localhost:8553 listening (TestHooks::trans)
>> >> > server localhost:8554 listening (TestHooks::stacked_handlers2)
>> >> > server localhost:8555 listening (TestHooks::init)
>> >> > server localhost:8556 listening (TestFilter::both_str_con_add)
>> >> > server localhost:8557 listening (TestFilter::in_bbs_inject_header)
>> >> > server localhost:8558 listening (TestFilter::in_str_msg)
>> >> > server localhost:8559 listening (TestFilter::in_bbs_msg)
>> >> > server localhost:8560 listening (TestDirective::perlrequire)
>> >> > server localhost:8561 listening (TestDirective::perlmodule)
>> >> > server localhost:8562 listening (TestPerl::ithreads)
>> >> > server localhost:8563 listening (TestPerl::ithreads3)
>> >> > server localhost:8564 listening (TestDirective::perlloadmodule3)
>> >> > server localhost:8565 listening (TestDirective::perlloadmodule5)
>> >> > server localhost:8566 listening (TestDirective::perlloadmodule4)
>> >> > server localhost:8567 listening (TestAPI::add_config)
>> >> > server localhost:8568 listening (TestDirective::perlloadmodule6)
>> >> > server localhost:8569 listening (TestHooks::push_handlers_anon)
>> >> > t/hooks/authen_digest.t ..
>> >> > 1..7
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:20 2015
>> >> > # Current time GMT: Mon Apr 13 02:28:20 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # testing : handler returned HTTP_OK
>> >> > # expected: 200
>> >> > # received: '200'
>> >> > ok 1
>> >> > # response had no WWW-Authenticate header
>> >> > ok 2
>> >> > # testing : handler returned HTTP_UNAUTHORIZED
>> >> > # expected: 401
>> >> > # received: '401'
>> >> > ok 3
>> >> > # response had a WWW-Authenticate header
>> >> > not ok 4
>> >> > # Failed test 4 in t/hooks/authen_digest.t at line 36
>> >> > # testing : response is using Digest authentication scheme
>> >> > # expected: qr/^Digest/
>> >> > # received: undef
>> >> > not ok 5
>> >> > # Failed test 5 in t/hooks/authen_digest.t at line 38
>> >> > # testing : WWW-Authenticate header contains the proper realm
>> >> > # expected: qr/realm="Simple Digest"/
>> >> > # received: undef
>> >> > not ok 6
>> >> > # Failed test 6 in t/hooks/authen_digest.t at line 42
>> >> > # testing : WWW-Authenticate header contains a nonce
>> >> > # expected: qr/nonce="/
>> >> > # received: undef
>> >> > not ok 7
>> >> > # Failed test 7 in t/hooks/authen_digest.t at line 46
>> >> > Failed 4/7 subtests
>> >> > t/perl/ithreads3.t .......
>> >> > 1..6
>> >> > # Running under perl version 5.020002 for linux
>> >> > # Current time local: Mon Apr 13 12:28:21 2015
>> >> > # Current time GMT: Mon Apr 13 02:28:21 2015
>> >> > # Using Test.pm version 1.26
>> >> > # Using Apache/Test.pm version 1.38
>> >> > # connecting to http://localhost:8563/
>> >> > # testing : perl-script 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 1
>> >> > # testing : modperl 1
>> >> > # expected: 2
>> >> > # received: '2'
>> >> > ok 2
>> >> > # testing : perl-script 2
>> >> > # expected: 5
>> >> > # received: '2'
>> >> > not ok 3
>> >> > # Failed test 3 in t/perl/ithreads3.t at line 32
>> >> > # testing : modperl 2
>> >> > # expected: 5
>> >> > # received: '3'
>> >> > not ok 4
>> >> > # Failed test 4 in t/perl/ithreads3.t at line 33
>> >> > # testing : perl-script 3
>> >> > # expected: 3
>> >> > # received: '2'
>> >> > not ok 5
>> >> > # Failed test 5 in t/perl/ithreads3.t at line 35
>> >> > # testing : modperl 3
>> >> > # expected: 3
>> >> > # received: '3'
>> >> > ok 6
>> >> > Failed 3/6 subtests
>> >> >
>> >> > Test Summary Report
>> >> > -------------------
>> >> > t/hooks/authen_digest.t (Wstat: 0 Tests: 7 Failed: 4)
>> >> > Failed tests: 4-7
>> >> > t/perl/ithreads3.t (Wstat: 0 Tests: 6 Failed: 3)
>> >> > Failed tests: 3-5
>> >> > Files=2, Tests=13, 2 wallclock secs ( 0.05 usr 0.02 sys + 0.99 cusr 0.31 csys = 1.37 CPU)
>> >> > Result: FAIL
>> >> > Failed 2/2 test programs. 7/13 subtests failed.
>> >> > [warning] server localhost:8529 shutdown
>> >> > [warning] port 8529 still in use...
>> >> > ...done
>> >> > [ error] error running tests (please examine t/logs/error_log)
>> >> >
>> >> > # cat less 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=25085
>> >> > END in modperl_extra.pl, pid=25085
>> >> > [Mon Apr 13 12:28:20.045292 2015] [slotmem_shm:debug] [pid 25089:tid 140715845183232] mod_slotmem_shm.c(466): AH02301: attach looking for /usr/local/src/mod_perl-2.0/t/logs/slotmem-shm-mod_heartmonitor.shm
>> >> > [Mon Apr 13 12:28:20.045348 2015] [lbmethod_heartbeat:notice] [pid 25089:tid 140715845183232] AH02282: No slotmem from mod_heartmonitor
>> >> > [Mon Apr 13 12:28:20.176754 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00292: Apache/2.4.12 (Unix) world domination series/2.0 mod_perl/2.0.9dev Perl/v5.20.2 configured -- resuming normal operations
>> >> > [Mon Apr 13 12:28:20.176805 2015] [mpm_worker:info] [pid 25089:tid 140715845183232] AH00293: Server built: Apr 13 2015 07:07:03
>> >> > [Mon Apr 13 12:28:20.176846 2015] [core:notice] [pid 25089:tid 140715845183232] AH00094: Command line: '/usr/local/httpd-2.4.12/bin/httpd -d /usr/local/src/mod_perl-2.0/t -f /usr/local/src/mod_perl-2.0/t/conf/httpd.conf -D APACHE2 -D APACHE2_4 -D PERL_USEITHREADS'
>> >> > [Mon Apr 13 12:28:20.179522 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179579 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179584 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179588 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179591 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179595 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179598 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179602 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179605 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179608 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179612 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179627 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179631 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179635 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179638 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179641 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179645 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179648 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179652 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179655 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179658 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179662 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179665 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179668 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179672 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179675 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179679 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179682 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179685 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179689 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179692 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179700 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179704 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179707 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179711 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179714 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179718 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179721 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179725 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179744 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179749 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179752 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179755 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179759 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179762 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179765 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179769 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179772 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179776 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179779 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179782 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179789 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179792 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179796 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179799 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179802 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179806 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179809 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179813 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179816 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179820 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179823 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179851 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179855 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179858 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179862 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179873 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179883 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179887 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179890 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179894 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179903 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179907 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179910 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179914 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179917 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.179921 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1772): AH00924: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ shared already initialized
>> >> > [Mon Apr 13 12:28:20.179924 2015] [proxy:debug] [pid 25093:tid 140715845183232] proxy_util.c(1814): AH00926: worker http://localhost:8529/TestFilter__both_str_req_proxy_content/ local already initialized
>> >> > [Mon Apr 13 12:28:20.667343 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:45582] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.300977 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.301025 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.303225 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of Require valid-user : granted
>> >> > [Mon Apr 13 12:28:21.303252 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(809): [client 127.0.0.1:45583] AH01626: authorization result of <RequireAny>: granted
>> >> > [Mon Apr 13 12:28:21.314069 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of Require valid-user : denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.314101 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(809): [client 127.0.0.1:45584] AH01626: authorization result of <RequireAny>: denied (no authenticated user yet)
>> >> > [Mon Apr 13 12:28:21.992567 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47865] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:21.997691 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47866] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012035 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.012215 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47867] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.015558 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47868] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.019047 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47869] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021466 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.021608 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47870] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.024982 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47871] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.028020 2015] [authz_core:debug] [pid 25093:tid 140715476645632] mod_authz_core.c(835): [client 127.0.0.1:47872] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030287 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.030435 2015] [authz_core:debug] [pid 25093:tid 140715554629376] mod_authz_core.c(835): [client 127.0.0.1:47873] AH01628: authorization result: granted (no directives)
>> >> > [Mon Apr 13 12:28:22.246706 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting
>> >> > [Mon Apr 13 12:28:22.246890 2015] [perl:info] [pid 25093:tid 140715845183232] Child process pid=25093 is exiting - server push
>> >> > END in modperl_extra.pl, pid=25093
>> >> > END in modperl_extra.pl, pid=25093
>> >> > [Mon Apr 13 12:28:23.591699 2015] [core:info] [pid 25089:tid 140715845183232] AH00096: removed PID file /usr/local/src/mod_perl-2.0/t/logs/httpd.pid (pid=25089)
>> >> > [Mon Apr 13 12:28:23.591818 2015] [mpm_worker:notice] [pid 25089:tid 140715845183232] AH00295: caught SIGTERM, shutting down
>> >> > ********************************************************************************
>> >> > *** 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=25089
>> >> > END in modperl_extra.pl, pid=25089
>> >> >
>> >> > BTW, you can install VirtualBox on your Windows machine and have a linux virtual server for testing.
>> >> >
>> >> >
>> >> >
>> >> > Regards,
>> >> >
>> >> >
>> >> > Jie
>> >> >
>> >> > * Jie Gao <J.Gao@sydney.edu.au> wrote:
>> >> >
>> >> >> Date: Fri, 10 Apr 2015 12:02:05 +1000
>> >> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> To: Steve Hay <steve.m.hay@googlemail.com>
>> >> >> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> <dev@perl.apache.org>
>> >> >> Subject: Re: Trunk: APR.so won't load
>> >> >> User-Agent: Mutt/1.5.21 (2010-09-15)
>> >> >>
>> >> >> 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 <steve.m.hay@googlemail.com> wrote:
>> >> >>
>> >> >> > Date: Thu, 9 Apr 2015 18:27:51 +0100
>> >> >> > From: Steve Hay <steve.m.hay@googlemail.com>
>> >> >> > To: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> > CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> > <dev@perl.apache.org>
>> >> >> > 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 <steve.m.hay@googlemail.com> 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 <J.Gao@sydney.edu.au> 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 <steve.m.hay@googlemail.com> wrote:
>> >> >> > >>
>> >> >> > >>> Date: Thu, 9 Apr 2015 14:29:44 +0100
>> >> >> > >>> From: Steve Hay <steve.m.hay@googlemail.com>
>> >> >> > >>> To: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> > >>> CC: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> > >>> <dev@perl.apache.org>
>> >> >> > >>> 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 <J.Gao@sydney.edu.au> 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 <J.Gao@sydney.edu.au> wrote:
>> >> >> > >>> >
>> >> >> > >>> >> Date: Sun, 1 Mar 2015 17:30:45 +1100
>> >> >> > >>> >> From: Jie Gao <J.Gao@sydney.edu.au>
>> >> >> > >>> >> To: "modperl@perl.apache.org" <modperl@perl.apache.org>, mod_perl Dev
>> >> >> > >>> >> <dev@perl.apache.org>
>> >> >> > >>> >> 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.
>> >> >> > >>> >>
>> >> >> > >>> >>
>> >> >> > >>> >>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org