You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by cr...@animalhead.com on 2009/08/30 06:43:13 UTC

Undefined symbol "Perl_pad_sv building mp2

-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be  
working OK,
although Apache with using my old mod_perl 2.04 that uses perl 5.8.9.

make test in both the release mod_perl 2.0.4 and the latest snapshot  
2.0.5
gives the same error:

$ make test
cd "src/modules/perl" && make
/usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=  
APACHE_TEST_USER= APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/ 
lib  t/TEST -bugreport -verbose=0
/usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f /build/ 
modperl-2.0/t/conf/httpd.conf -D APACHE2
using Apache/2.2.13 (prefork MPM)

waiting 120 seconds for server to start: .httpd: Syntax error on line  
17 of /build/modperl-2.0/t/conf/httpd.conf: Cannot load /build/ 
modperl-2.0/src/modules/perl/mod_perl.so into server: /build/ 
modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol "Perl_pad_sv"


2. Used Components and their Configuration:

*** mod_perl version 2.000005

*** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
   MP_APR_LIB     => aprext
   MP_APXS        => /usr/local/apache2/bin/apxs
   MP_COMPAT_1X   => 1
   MP_GENERATE_XS => 1
   MP_LIBNAME     => mod_perl
   MP_USE_DSO     => 1


*** /usr/local/apache2/bin/httpd -V
Server version: Apache/2.2.13 (Unix)
Server built:   Aug 29 2009 16:57:40
Server's Module Magic Number: 20051115:23
Server loaded:  APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture:   32-bit
Server MPM:     Prefork
   threaded:     no
     forked:     yes (variable process count)
Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/prefork"
  -D APR_HAS_SENDFILE
  -D APR_HAS_MMAP
  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  -D APR_USE_FLOCK_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D DYNAMIC_MODULE_LIMIT=128
  -D HTTPD_ROOT="/usr/local/apache2"
  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
  -D DEFAULT_PIDLOG="logs/httpd.pid"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_LOCKFILE="logs/accept.lock"
  -D DEFAULT_ERRORLOG="logs/error_log"
  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
  -D SERVER_CONFIG_FILE="conf/httpd.conf"

*** /usr/bin/ldd /usr/local/apache2/bin/httpd
/usr/local/apache2/bin/httpd:
         libz.so.3 => /lib/libz.so.3 (0x28209000)
         libm.so.4 => /lib/libm.so.4 (0x2821a000)
         libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
         libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so. 
3 (0x2825c000)
         libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
         libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3  
(0x2829d000)
         libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
         libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
         libc.so.6 => /lib/libc.so.6 (0x28301000)


*** (apr|apu)-config linking info

  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread



*** /usr/local/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:

   Platform:
     osname=freebsd, osvers=6.3-release, archname=i386-freebsd
     uname='freebsd animalhead.com 6.3-release freebsd 6.3-release  
#3: fri jan 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern  
i386 '
     config_args='-Dd_dosuid -Dotherlibdirs=/usr/local/lib/ 
perl5/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/5.8.7 - 
Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
     hint=recommended, useposix=true, d_sigaction=define
     useithreads=undef, usemultiplicity=undef
     useperlio=define, d_sfio=undef, uselargefiles=define,  
usesocks=undef
     use64bitint=undef, use64bitall=undef, uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno- 
strict-aliasing -pipe -I/usr/local/include',
     optimize='-O',
     cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict- 
aliasing -pipe -I/usr/local/include'
     ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',  
gccosandvers=''
     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
     ivtype='long', ivsize=4, nvtype='double', nvsize=8,  
Off_t='off_t', lseeksize=8
     alignbytes=4, prototype=define
   Linker and Libraries:
     ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
     libpth=/usr/lib /usr/local/lib
     libs=-lgdbm -lm -lcrypt -lutil -lc
     perllibs=-lm -lcrypt -lutil -lc
     libc=, so=so, useshrplib=false, libperl=libperl.a
     gnulibc_version=''
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
     cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'


Characteristics of this binary (from libperl):
   Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
                         USE_LARGE_FILES USE_PERLIO
   Built under freebsd
   Compiled at Aug 29 2009 20:24:18
   %ENV:
     PERL_LWP_USE_HTTP_10="1"
   @INC:
     /usr/local/lib/perl5/5.10.1/i386-freebsd
     /usr/local/lib/perl5/5.10.1
     /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
     /usr/local/lib/perl5/site_perl/5.10.1
     /usr/local/lib/perl5/site_perl/5.8.9
     /usr/local/lib/perl5/site_perl/5.8.8
     /usr/local/lib/perl5/site_perl/5.8.7
     /usr/local/lib/perl5/site_perl
     /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
     /usr/local/lib/perl5/vendor_perl/5.10.1
     /usr/local/lib/perl5/vendor_perl/5.8.7
     /usr/local/lib/perl5/vendor_perl
     /usr/local/lib/perl5/5.8.9/i386-freebsd
     /usr/local/lib/perl5/5.8.9
     /usr/local/lib/perl5/5.8.8/i386-freebsd
     /usr/local/lib/perl5/5.8.8
     /usr/local/lib/perl5/5.8.7/i386-freebsd
     /usr/local/lib/perl5/5.8.7
     .

*** Packages of interest status:

Apache2            : -
Apache2::Request   : -
CGI                : 3.45
ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
LWP                : 5.831
mod_perl           : -
mod_perl2          : -


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

   [CORE TRACE COMES HERE]

This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009 GMT.

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


Re: Undefined symbol "Perl_pad_sv" building mp2 (all is well)

Posted by cr...@animalhead.com.
Fred Moyer and Michael Peters were correct about not wanting to
have 5.8.x libraries under perl 5.10.1.  As soon as I built a
5.10.1 cleanly with no retained libraries, the undef's in
Dynaload in mod_perl2 make test went away.

The biggest remaining problem was getting apreq2-2.12 to build
correctly, which got solved via FreeBSD ports with help from
Philip Gollucci.  Also included in my upgrade is the most recent
mod_perl2 SVN 2.0.5-dev.  So Apache 2.2.13, mod_perl 2.0.5-dev,
and the patched perl 5.10.1 seem to be happy together under
FreeBSD 6.3 on an i386 box.

I simplified the patch to perl 5.10.1 and perlbugged it (perl
#68986).  I think it remains necessary to prevent the "Undefined
symbol Perl_pad_sv".  It now reads "in pad.c, move '#ifdef DEBUGGING'
from line 915 to line 941".

Sorry to have made so much noise on the list getting there.
I'll shut up now unless perhaps I can help someone.

cmac


On Sep 2, 2009, at 2:51 AM, craig@animalhead.com wrote:

> Hi Fred,
>
> Decided to look at the source found by your 'ack'.
>
> It turns out that, in file pad.c, someone in the perl 5.10.0 or 5.10.1
> project decided that the Perl_pad_sv routine was only needed if
> -DDEBUGGING was specified for the Perl build.
>
> Fixed this by commenting out the #ifdef DEBUGGING at line 915 of pad.c
> and the #endif at line 966 of pad.c.  (These weren't there in 5.8.9.)
>
> Then the compile of pad.c didn't work.  A macro used by one of the
> two newly-included routines was missing.  Fixed this by commenting
> out the #ifdef DEBUGGING at line 6076 of proto.h, and the #endif at
> line 6082 of proto.h.
>
> With these changes perl5.10.1 built, passed all its tests, and  
> installed
> fine.  It works in various scripts too!
>
> On to testing mod_perl2.  Did make veryclean, perl Makefile.PL, and  
> make
> without any hangups.  (There were probably some warnings during make
> but I didn't watch carefully.)
>
> make test no longer gets the "Undefined symbol Perl_pad_sv".
> Unfortunately it now fails in a different way:
>
> ======================================================================
> animalhead:/build/mod_perl-2.0.4 $ make test
> cd "src/modules/perl" && make
> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=  
> APACHE_TEST_USER= APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch - 
> Iblib/lib  t/TEST -bugreport -verbose=0
> /usr/local/apache2/bin/httpd  -d /build/mod_perl-2.0.4/t -f /build/ 
> mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2
> using Apache/2.2.13 (prefork MPM)
>
> waiting 120 seconds for server to start: .Use of uninitialized  
> value in subroutine entry at /usr/local/lib/perl5/5.10.1/i386- 
> freebsd/DynaLoader.pm line 91.
> Use of uninitialized value in subroutine entry at /usr/local/lib/ 
> perl5/5.10.1/i386-freebsd/DynaLoader.pm line 200.
> Use of uninitialized value in subroutine entry at /usr/local/lib/ 
> perl5/5.10.1/i386-freebsd/DynaLoader.pm line 200.
> ...................................................................... 
> ...................................................
> waiting 120 seconds for server to start: not ok
> [  error] giving up after 121 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. 420) and repeat the last command.
>
> [  error] server failed to start! (t/logs/error_log wasn't created,  
> start the server in the debug mode)
> +--------------------------------------------------------+
> | Please file a bug report: http://perl.apache.org/bugs/ |
> +--------------------------------------------------------+
> *** Error code 1
>
> Stop in /build/mod_perl-2.0.4.
> animalhead:/build/mod_perl-2.0.4 $
> ======================================================================
>
> The bug report info that I submitted at the end of this thread  
> probably
> still applies.  Anyone's suggestion what to do now will be  
> appreciated.
>
> I feel like holding off telling the perl project about the undefined
> symbol until this problem is solved too.
>
> cmac
>
>
> On Sep 1, 2009, at 10:36 PM, Fred Moyer wrote:
>
>> On Tue, Sep 1, 2009 at 10:14 PM, <cr...@animalhead.com> wrote:
>>> But this is the mod_perl mailing list.  It is the place to which
>>> one sends reports of bugs or problems with mod_perl.  I sent such
>>> a report, citing this undefined symbol when building mod_perl2.
>>
>> Right, but if you are mixing major versions of perl, you'll probably
>> encounter issues in other places.  mod_perl may be the first place  
>> you
>> are seeing this.
>>
>> Think of it this way - would you try this same install procedure with
>> 5.6 and 5.8?  Maybe 5.8 and 5.10 work together seamlessly, but I  
>> would
>> look to that as a likely source of problems.
>>
>> ack is App::Ack, available from CPAN.
>>
>> I've pulled down 5.10.1 but haven't had time to do a build yet.  When
>> I do, I'm going to install 5.10.1 a separate location from my 5.8
>> libraries.  Maybe it can integrate with 5.8 (the perl 5 porters are a
>> very talented crew), but discovering an edge case is not something on
>> my todo list :)
>>
>> I like to keep my mod_perl setup using a different perl build than  
>> the
>> system perl.  That way, I won't hose my system if I want to try some
>> new build options for my mod_perl based perl install.
>>
>>> It is hard for me to imagine that the fact that I gave the perl
>>> build process a list of directories to append to @INC should
>>> affect the presence or absence of a symbol in the resultant perl
>>> binary.  The only time that perl will even consult those
>>> directories are when it is looking for a module name that it
>>> doesn't find in the 5.10.1 directories.
>>>
>>> There is not much in the modules in @INC directories that is
>>> necessarily connected to "major versions of perl".  Of course
>>> it's possible that some older modules may not work as well with
>>> a new version as with older versions, but in this case it's the
>>> responsibility of the author to work out and release a new
>>> version that will hopefully work equally well with the older
>>> and newer perls.  And any module can specify the oldest version
>>> of perl (or other modules on which it depends) that it will
>>> work with.
>>>
>>> I always maintain my perl modules with -MCPAN's r command, and
>>> upgrade those for which new versions are available on a regular
>>> basis.
>>>
>>> I don't know the command 'ack' that you used in your work below,
>>> but it looks like it examined source files in a subdirectory of
>>> your home directory (~).
>>>
>>> Do you have a perl5.10.1 binary that you have used in conjunction
>>> with mod_perl2?
>>>
>>> If so, can you please cd to the directory that contains that
>>> binary (/usr/local/bin?) and enter a grep command like I used:
>>>
>>> grep Perl_pad_sv perl5*
>>>
>>> and see if your 5.10.1 binary contains the symbol?  And if so,
>>> how did your binary come to be?
>>>
>>> Thanks,
>>> cmac
>>>
>>>
>>> On Sep 1, 2009, at 9:32 PM, Fred Moyer wrote:
>>>
>>>> [cc'ing the list as to not break the thread]
>>>>
>>>> On Tue, Sep 1, 2009 at 7:41 PM, <cr...@animalhead.com> wrote:
>>>>>
>>>>> I have always included previous perl libraries in the @INC of
>>>>> new builds.  And it has always worked, with the single
>>>>> exception of building mod_perl2 this time.  All of the perl
>>>>> scripts and modules on my site work well under the new 5.10.1.
>>>>
>>>> I don't know enough here to say one way or the other about this,  
>>>> but
>>>> you're mixing major versions of perl (5.10 vs 5.8)
>>>>
>>>> The Perl 5 Porters would be a good place for these issues.  But you
>>>> are seeing unresolved symbol errors when trying to use different  
>>>> major
>>>> versions of Perl.  That is enough circumstantial evidence that if I
>>>> were in your shoes, I'd use a separate 5.10 install.  But p5p could
>>>> probably give a more educated analysis of this.
>>>>
>>>>>
>>>>> Aside from the pain of re-downloading all kinds of modules
>>>>> as they prove to be needed over the next year or so, I know
>>>>> there are items in the 5.8.7 libraries from my Internet
>>>>> Hosting Provider, that are needed to run software from the IHP.
>>>>>
>>>>> I can certainly build a 5.10.1 without the otherlibs, and
>>>>> locate it somewhere else than in /usr/local/bin.  Will that
>>>>> process completely replace all of:
>>>>>
>>>>> /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>> /usr/local/lib/perl5/5.10.1
>>>>> /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>> /usr/local/lib/perl5/site_perl/5.10.1
>>>>> ??
>>>>>
>>>>> If so, I suppose could copy them somewhere before the
>>>>> build, and copy them back after the build.
>>>>>
>>>>> In "Non-Boolean Build Options" on
>>>>>
>>>>> http://perl.apache.org/docs/2.0/user/install/install.html,
>>>>>
>>>>> I don't see a command to tell the mod_perl build process to
>>>>> use a particular perl.  If I say $perl_other Makefile.PL
>>>>> in the modperl-2.x directory, does that do it?
>>>>>
>>>>> Thanks for being there,
>>>>> cmac
>>>>>
>>>>>
>>>>> On Sep 1, 2009, at 5:58 PM, Fred Moyer wrote:
>>>>>
>>>>>> Can you please cc the list on all replies?
>>>>>>
>>>>>> On Tue, Sep 1, 2009 at 5:41 PM, <cr...@animalhead.com> wrote:
>>>>>>>
>>>>>>> cd /build/perl-5.10.1/
>>>>>>> make veryclean
>>>>>>> ./Configure -Dd_dosuid
>>>>>>>
>>>>>>>
>>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/ 
>>>>>>> perl5/site_perl/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/ 
>>>>>>> lib/perl5/site_perl/5.8.8:/usr/local/lib/perl5/5.8.7:/usr/ 
>>>>>>> local/lib/perl5/site_perl/5.8.7:/usr/local/lib/perl5/ 
>>>>>>> vendor_perl/5.8.7
>>>>>>> -Dmydomain=animalhead.com
>>>>>>
>>>>>> Why are you configuring 5.10.1 with 5.8.x libs?
>>>>>>
>>>>>> Can you try a build without otherlibdirs?
>>>>>>
>>>>>>>
>>>>>>>   change optimization '-O' to '-O2'
>>>>>>>   search other versions? [5.8.9 5.8.8 5.8.7] none
>>>>>>>   change email 'xxxxxxxx@animalhead.com' to 'mackenna@...'
>>>>>>>
>>>>>>> make
>>>>>>> make test                      <-- no errors for 5.10.1
>>>>>>> sudo make install
>>>>>>>
>>>>>>>
>>>>>>> On Sep 1, 2009, at 11:23 AM, Fred Moyer wrote:
>>>>>>>
>>>>>>>> On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
>>>>>>>>>
>>>>>>>>> A bit more data on the problem reported below:
>>>>>>>>>
>>>>>>>>> /build/modperl-2.0 $ grep -r Perl_pad_sv *
>>>>>>>>> Binary file src/modules/perl/mod_perl.so matches
>>>>>>>>> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
>>>>>>>>> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22
>>>>>>>>> src/modules/perl/mod_perl.so
>>>>>>>>> /build/modperl-2.0 $ cd /usr/local/bin
>>>>>>>>>
>>>>>>>>> /usr/local/bin $ ll perl5*
>>>>>>>>> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 ->  
>>>>>>>>> perl5.10.1
>>>>>>>>> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
>>>>>>>>> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
>>>>>>>>> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
>>>>>>>>> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
>>>>>>>>> /usr/local/bin $ grep -r Perl_pad_sv perl*
>>>>>>>>> Binary file perl5.8.7 matches
>>>>>>>>> Binary file perl5.8.8 matches
>>>>>>>>> Binary file perl5.8.9 matches
>>>>>>>>> /usr/local/bin $
>>>>>>>>>
>>>>>>>>> So the symbol in the error message is wanted by the newly- 
>>>>>>>>> built
>>>>>>>>> mod_perl, but perl 5.10.1 does not include it.
>>>>>>>>>
>>>>>>>>> Yes that's exactly what the error message says, but the  
>>>>>>>>> mailing
>>>>>>>>> list is so quiet that I wonder if my filters have started  
>>>>>>>>> eating
>>>>>>>>> its emails...
>>>>>>>>
>>>>>>>> Perl_pad_sv is in there.  How did you install 5.10.1?
>>>>>>>>
>>>>>>>> phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
>>>>>>>> embed.h
>>>>>>>> 638:#define pad_sv                      Perl_pad_sv
>>>>>>>> 2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)
>>>>>>>>
>>>>>>>> makedef.pl
>>>>>>>> 627:                Perl_pad_sv
>>>>>>>>
>>>>>>>> pad.c
>>>>>>>> 927:Perl_pad_sv(pTHX_ PADOFFSET po)
>>>>>>>>
>>>>>>>> proto.h
>>>>>>>> 2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> cmac
>>>>>>>>>
>>>>>>>>>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>>>>>>>>>
>>>>>>>>>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com>  
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> -------------8<---------- Start Bug Report
>>>>>>>>>>>> ------------8<----------
>>>>>>>>>>>> 1. Problem Description:
>>>>>>>>>>>>
>>>>>>>>>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both  
>>>>>>>>>>>> seem to be
>>>>>>>>>>>> working
>>>>>>>>>>>> OK,
>>>>>>>>>>>> although Apache with using my old mod_perl 2.04 that  
>>>>>>>>>>>> uses perl
>>>>>>>>>>>> 5.8.9.
>>>>>>>>>>>
>>>>>>>>>>> Have you rebuilt your mod_perl 2.0.4 instance from  
>>>>>>>>>>> scratch using
>>>>>>>>>>> 5.10.1?  Undefined symbol warnings like this usually mean  
>>>>>>>>>>> you are
>>>>>>>>>>> trying to use a version of mod_perl that has been built with
>>>>>>>>>>> another
>>>>>>>>>>> perl binary.
>>>>>>>>>>>
>>>>>>>>>>> Suggest running make clean, then:
>>>>>>>>>>>
>>>>>>>>>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>>>>>>>>>> make
>>>>>>>>>>> make test
>>>>>>>>>>
>>>>>>>>>> Yes, that is pretty much exactly what I've done.  Here is the
>>>>>>>>>> command
>>>>>>>>>> file
>>>>>>>>>> (that precedes make):
>>>>>>>>>>
>>>>>>>>>> #! /bin/sh
>>>>>>>>>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>>>>>>>>>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>>>>>>>>>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> make test in both the release mod_perl 2.0.4 and the latest
>>>>>>>>>>>> snapshot
>>>>>>>>>>>> 2.0.5
>>>>>>>>>>>> gives the same error:
>>>>>>>>>>>>
>>>>>>>>>>>> $ make test
>>>>>>>>>>>> cd "src/modules/perl" && make
>>>>>>>>>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>>>>>>>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>>>>>>>>>> APACHE_TEST_USER=
>>>>>>>>>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib   
>>>>>>>>>>>> t/TEST
>>>>>>>>>>>> -bugreport
>>>>>>>>>>>> -verbose=0
>>>>>>>>>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>>>>>>>>>> using Apache/2.2.13 (prefork MPM)
>>>>>>>>>>>>
>>>>>>>>>>>> waiting 120 seconds for server to start: .httpd: Syntax  
>>>>>>>>>>>> error on
>>>>>>>>>>>> line
>>>>>>>>>>>> 17
>>>>>>>>>>>> of
>>>>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into  
>>>>>>>>>>>> server:
>>>>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so:  
>>>>>>>>>>>> Undefined symbol
>>>>>>>>>>>> "Perl_pad_sv"
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 2. Used Components and their Configuration:
>>>>>>>>>>>>
>>>>>>>>>>>> *** mod_perl version 2.000005
>>>>>>>>>>>>
>>>>>>>>>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>>>>>>>>>
>>>>>>>>>>>> *** Makefile.PL options:
>>>>>>>>>>>>  MP_APR_LIB     => aprext
>>>>>>>>>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>>>>>>>>>  MP_COMPAT_1X   => 1
>>>>>>>>>>>>  MP_GENERATE_XS => 1
>>>>>>>>>>>>  MP_LIBNAME     => mod_perl
>>>>>>>>>>>>  MP_USE_DSO     => 1
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *** /usr/local/apache2/bin/httpd -V
>>>>>>>>>>>> Server version: Apache/2.2.13 (Unix)
>>>>>>>>>>>> Server built:   Aug 29 2009 16:57:40
>>>>>>>>>>>> Server's Module Magic Number: 20051115:23
>>>>>>>>>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>>>>>>>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>>>>>>>>>> Architecture:   32-bit
>>>>>>>>>>>> Server MPM:     Prefork
>>>>>>>>>>>>  threaded:     no
>>>>>>>>>>>>  forked:     yes (variable process count)
>>>>>>>>>>>> Server compiled with....
>>>>>>>>>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>>>>>>>>>  -D APR_HAS_SENDFILE
>>>>>>>>>>>>  -D APR_HAS_MMAP
>>>>>>>>>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>>>>>>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>>>>>>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>>>>>>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>>>>>>>>>  -D APR_HAS_OTHER_CHILD
>>>>>>>>>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>>>>>>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>>>>>>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>>>>>>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>>>>>>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>>>>>>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>>>>>>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>>>>>>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>>>>>>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>>>>>>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>>>>>>>>>
>>>>>>>>>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>>>>>>>>>> /usr/local/apache2/bin/httpd:
>>>>>>>>>>>>    libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>>>>>>>>>    libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>>>>>>>>>    libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>>>>>>>>>    libaprutil-1.so.3 => /usr/local/apache2/lib/ 
>>>>>>>>>>>> libaprutil-1.so.3
>>>>>>>>>>>> (0x2825c000)
>>>>>>>>>>>>    libexpat.so.6 => /usr/local/lib/libexpat.so.6  
>>>>>>>>>>>> (0x2827c000)
>>>>>>>>>>>>    libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3
>>>>>>>>>>>> (0x2829d000)
>>>>>>>>>>>>    libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>>>>>>>>>    libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>>>>>>>>>    libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *** (apr|apu)-config linking info
>>>>>>>>>>>>
>>>>>>>>>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/ 
>>>>>>>>>>>> local/lib
>>>>>>>>>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> *** /usr/local/bin/perl -V
>>>>>>>>>>>> Summary of my perl5 (revision 5 version 10 subversion 1)
>>>>>>>>>>>> configuration:
>>>>>>>>>>>>
>>>>>>>>>>>>  Platform:
>>>>>>>>>>>>  osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>>>>>>>>>  uname='freebsd animalhead.com 6.3-release freebsd 6.3- 
>>>>>>>>>>>> release #3:
>>>>>>>>>>>> fri
>>>>>>>>>>>> jan
>>>>>>>>>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern  
>>>>>>>>>>>> i386 '
>>>>>>>>>>>>  config_args='-Dd_dosuid
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/ 
>>>>>>>>>>>> perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>>>>>>>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>>>>>>>>>  hint=recommended, useposix=true, d_sigaction=define
>>>>>>>>>>>>  useithreads=undef, usemultiplicity=undef
>>>>>>>>>>>>  useperlio=define, d_sfio=undef, uselargefiles=define,
>>>>>>>>>>>> usesocks=undef
>>>>>>>>>>>>  use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>>>>>>>>>  usemymalloc=n, bincompat5005=undef
>>>>>>>>>>>>  Compiler:
>>>>>>>>>>>>  cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>>>>>>>>>  optimize='-O',
>>>>>>>>>>>>  cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>>>>> -fno-strict-aliasing
>>>>>>>>>>>> -pipe -I/usr/local/include'
>>>>>>>>>>>>  ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',
>>>>>>>>>>>> gccosandvers=''
>>>>>>>>>>>>  intsize=4, longsize=4, ptrsize=4, doublesize=8,  
>>>>>>>>>>>> byteorder=1234
>>>>>>>>>>>>  d_longlong=define, longlongsize=8, d_longdbl=define,
>>>>>>>>>>>> longdblsize=12
>>>>>>>>>>>>  ivtype='long', ivsize=4, nvtype='double', nvsize=8,
>>>>>>>>>>>> Off_t='off_t',
>>>>>>>>>>>> lseeksize=8
>>>>>>>>>>>>  alignbytes=4, prototype=define
>>>>>>>>>>>>  Linker and Libraries:
>>>>>>>>>>>>  ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>>>>>>>>>  libpth=/usr/lib /usr/local/lib
>>>>>>>>>>>>  libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>>>>>>>>>  perllibs=-lm -lcrypt -lutil -lc
>>>>>>>>>>>>  libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>>>>>>>>>  gnulibc_version=''
>>>>>>>>>>>>  Dynamic Linking:
>>>>>>>>>>>>  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,  
>>>>>>>>>>>> ccdlflags=' '
>>>>>>>>>>>>  cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/ 
>>>>>>>>>>>> local/lib'
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Characteristics of this binary (from libperl):
>>>>>>>>>>>>  Compile-time options: PERL_DONT_CREATE_GVSV  
>>>>>>>>>>>> PERL_MALLOC_WRAP
>>>>>>>>>>>>                    USE_LARGE_FILES USE_PERLIO
>>>>>>>>>>>>  Built under freebsd
>>>>>>>>>>>>  Compiled at Aug 29 2009 20:24:18
>>>>>>>>>>>>  %ENV:
>>>>>>>>>>>>  PERL_LWP_USE_HTTP_10="1"
>>>>>>>>>>>>  @INC:
>>>>>>>>>>>>  /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>>>>>>>>>  /usr/local/lib/perl5/5.10.1
>>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1
>>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.9
>>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.8
>>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.7
>>>>>>>>>>>>  /usr/local/lib/perl5/site_perl
>>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl
>>>>>>>>>>>>  /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>>>>>>>>>  /usr/local/lib/perl5/5.8.9
>>>>>>>>>>>>  /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>>>>>>>>>  /usr/local/lib/perl5/5.8.8
>>>>>>>>>>>>  /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>>>>>>>>>  /usr/local/lib/perl5/5.8.7
>>>>>>>>>>>>  .
>>>>>>>>>>>>
>>>>>>>>>>>> *** Packages of interest status:
>>>>>>>>>>>>
>>>>>>>>>>>> Apache2            : -
>>>>>>>>>>>> Apache2::Request   : -
>>>>>>>>>>>> CGI                : 3.45
>>>>>>>>>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>>>>>>>>>> LWP                : 5.831
>>>>>>>>>>>> mod_perl           : -
>>>>>>>>>>>> mod_perl2          : -
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>>>>>>>>>
>>>>>>>>>>>>  [CORE TRACE COMES HERE]
>>>>>>>>>>>>
>>>>>>>>>>>> This report was generated by t/REPORT on Sun Aug 30  
>>>>>>>>>>>> 04:28:22 2009
>>>>>>>>>>>> GMT.
>>>>>>>>>>>>
>>>>>>>>>>>> -------------8<---------- End Bug Report
>>>>>>>>>>>> --------------8<----------


Re: Undefined symbol "Perl_pad_sv" building mp2 (resolved but all not well)

Posted by cr...@animalhead.com.
Hi Fred,

Decided to look at the source found by your 'ack'.

It turns out that, in file pad.c, someone in the perl 5.10.0 or 5.10.1
project decided that the Perl_pad_sv routine was only needed if
-DDEBUGGING was specified for the Perl build.

Fixed this by commenting out the #ifdef DEBUGGING at line 915 of pad.c
and the #endif at line 966 of pad.c.  (These weren't there in 5.8.9.)

Then the compile of pad.c didn't work.  A macro used by one of the
two newly-included routines was missing.  Fixed this by commenting
out the #ifdef DEBUGGING at line 6076 of proto.h, and the #endif at
line 6082 of proto.h.

With these changes perl5.10.1 built, passed all its tests, and installed
fine.  It works in various scripts too!

On to testing mod_perl2.  Did make veryclean, perl Makefile.PL, and make
without any hangups.  (There were probably some warnings during make
but I didn't watch carefully.)

make test no longer gets the "Undefined symbol Perl_pad_sv".
Unfortunately it now fails in a different way:

======================================================================
animalhead:/build/mod_perl-2.0.4 $ make test
cd "src/modules/perl" && make
/usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=  
APACHE_TEST_USER= APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/ 
lib  t/TEST -bugreport -verbose=0
/usr/local/apache2/bin/httpd  -d /build/mod_perl-2.0.4/t -f /build/ 
mod_perl-2.0.4/t/conf/httpd.conf -D APACHE2
using Apache/2.2.13 (prefork MPM)

waiting 120 seconds for server to start: .Use of uninitialized value  
in subroutine entry at /usr/local/lib/perl5/5.10.1/i386-freebsd/ 
DynaLoader.pm line 91.
Use of uninitialized value in subroutine entry at /usr/local/lib/ 
perl5/5.10.1/i386-freebsd/DynaLoader.pm line 200.
Use of uninitialized value in subroutine entry at /usr/local/lib/ 
perl5/5.10.1/i386-freebsd/DynaLoader.pm line 200.
........................................................................ 
.................................................
waiting 120 seconds for server to start: not ok
[  error] giving up after 121 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. 420) and repeat the last command.

[  error] server failed to start! (t/logs/error_log wasn't created,  
start the server in the debug mode)
+--------------------------------------------------------+
| Please file a bug report: http://perl.apache.org/bugs/ |
+--------------------------------------------------------+
*** Error code 1

Stop in /build/mod_perl-2.0.4.
animalhead:/build/mod_perl-2.0.4 $
======================================================================

The bug report info that I submitted at the end of this thread probably
still applies.  Anyone's suggestion what to do now will be appreciated.

I feel like holding off telling the perl project about the undefined
symbol until this problem is solved too.

cmac


On Sep 1, 2009, at 10:36 PM, Fred Moyer wrote:

> On Tue, Sep 1, 2009 at 10:14 PM, <cr...@animalhead.com> wrote:
>> But this is the mod_perl mailing list.  It is the place to which
>> one sends reports of bugs or problems with mod_perl.  I sent such
>> a report, citing this undefined symbol when building mod_perl2.
>
> Right, but if you are mixing major versions of perl, you'll probably
> encounter issues in other places.  mod_perl may be the first place you
> are seeing this.
>
> Think of it this way - would you try this same install procedure with
> 5.6 and 5.8?  Maybe 5.8 and 5.10 work together seamlessly, but I would
> look to that as a likely source of problems.
>
> ack is App::Ack, available from CPAN.
>
> I've pulled down 5.10.1 but haven't had time to do a build yet.  When
> I do, I'm going to install 5.10.1 a separate location from my 5.8
> libraries.  Maybe it can integrate with 5.8 (the perl 5 porters are a
> very talented crew), but discovering an edge case is not something on
> my todo list :)
>
> I like to keep my mod_perl setup using a different perl build than the
> system perl.  That way, I won't hose my system if I want to try some
> new build options for my mod_perl based perl install.
>
>> It is hard for me to imagine that the fact that I gave the perl
>> build process a list of directories to append to @INC should
>> affect the presence or absence of a symbol in the resultant perl
>> binary.  The only time that perl will even consult those
>> directories are when it is looking for a module name that it
>> doesn't find in the 5.10.1 directories.
>>
>> There is not much in the modules in @INC directories that is
>> necessarily connected to "major versions of perl".  Of course
>> it's possible that some older modules may not work as well with
>> a new version as with older versions, but in this case it's the
>> responsibility of the author to work out and release a new
>> version that will hopefully work equally well with the older
>> and newer perls.  And any module can specify the oldest version
>> of perl (or other modules on which it depends) that it will
>> work with.
>>
>> I always maintain my perl modules with -MCPAN's r command, and
>> upgrade those for which new versions are available on a regular
>> basis.
>>
>> I don't know the command 'ack' that you used in your work below,
>> but it looks like it examined source files in a subdirectory of
>> your home directory (~).
>>
>> Do you have a perl5.10.1 binary that you have used in conjunction
>> with mod_perl2?
>>
>> If so, can you please cd to the directory that contains that
>> binary (/usr/local/bin?) and enter a grep command like I used:
>>
>> grep Perl_pad_sv perl5*
>>
>> and see if your 5.10.1 binary contains the symbol?  And if so,
>> how did your binary come to be?
>>
>> Thanks,
>> cmac
>>
>>
>> On Sep 1, 2009, at 9:32 PM, Fred Moyer wrote:
>>
>>> [cc'ing the list as to not break the thread]
>>>
>>> On Tue, Sep 1, 2009 at 7:41 PM, <cr...@animalhead.com> wrote:
>>>>
>>>> I have always included previous perl libraries in the @INC of
>>>> new builds.  And it has always worked, with the single
>>>> exception of building mod_perl2 this time.  All of the perl
>>>> scripts and modules on my site work well under the new 5.10.1.
>>>
>>> I don't know enough here to say one way or the other about this, but
>>> you're mixing major versions of perl (5.10 vs 5.8)
>>>
>>> The Perl 5 Porters would be a good place for these issues.  But you
>>> are seeing unresolved symbol errors when trying to use different  
>>> major
>>> versions of Perl.  That is enough circumstantial evidence that if I
>>> were in your shoes, I'd use a separate 5.10 install.  But p5p could
>>> probably give a more educated analysis of this.
>>>
>>>>
>>>> Aside from the pain of re-downloading all kinds of modules
>>>> as they prove to be needed over the next year or so, I know
>>>> there are items in the 5.8.7 libraries from my Internet
>>>> Hosting Provider, that are needed to run software from the IHP.
>>>>
>>>> I can certainly build a 5.10.1 without the otherlibs, and
>>>> locate it somewhere else than in /usr/local/bin.  Will that
>>>> process completely replace all of:
>>>>
>>>> /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>> /usr/local/lib/perl5/5.10.1
>>>> /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>> /usr/local/lib/perl5/site_perl/5.10.1
>>>> ??
>>>>
>>>> If so, I suppose could copy them somewhere before the
>>>> build, and copy them back after the build.
>>>>
>>>> In "Non-Boolean Build Options" on
>>>>
>>>> http://perl.apache.org/docs/2.0/user/install/install.html,
>>>>
>>>> I don't see a command to tell the mod_perl build process to
>>>> use a particular perl.  If I say $perl_other Makefile.PL
>>>> in the modperl-2.x directory, does that do it?
>>>>
>>>> Thanks for being there,
>>>> cmac
>>>>
>>>>
>>>> On Sep 1, 2009, at 5:58 PM, Fred Moyer wrote:
>>>>
>>>>> Can you please cc the list on all replies?
>>>>>
>>>>> On Tue, Sep 1, 2009 at 5:41 PM, <cr...@animalhead.com> wrote:
>>>>>>
>>>>>> cd /build/perl-5.10.1/
>>>>>> make veryclean
>>>>>> ./Configure -Dd_dosuid
>>>>>>
>>>>>>
>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/ 
>>>>>> site_perl/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/ 
>>>>>> perl5/site_perl/5.8.8:/usr/local/lib/perl5/5.8.7:/usr/local/ 
>>>>>> lib/perl5/site_perl/5.8.7:/usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>> -Dmydomain=animalhead.com
>>>>>
>>>>> Why are you configuring 5.10.1 with 5.8.x libs?
>>>>>
>>>>> Can you try a build without otherlibdirs?
>>>>>
>>>>>>
>>>>>>   change optimization '-O' to '-O2'
>>>>>>   search other versions? [5.8.9 5.8.8 5.8.7] none
>>>>>>   change email 'xxxxxxxx@animalhead.com' to 'mackenna@...'
>>>>>>
>>>>>> make
>>>>>> make test                      <-- no errors for 5.10.1
>>>>>> sudo make install
>>>>>>
>>>>>>
>>>>>> On Sep 1, 2009, at 11:23 AM, Fred Moyer wrote:
>>>>>>
>>>>>>> On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
>>>>>>>>
>>>>>>>> A bit more data on the problem reported below:
>>>>>>>>
>>>>>>>> /build/modperl-2.0 $ grep -r Perl_pad_sv *
>>>>>>>> Binary file src/modules/perl/mod_perl.so matches
>>>>>>>> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
>>>>>>>> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22
>>>>>>>> src/modules/perl/mod_perl.so
>>>>>>>> /build/modperl-2.0 $ cd /usr/local/bin
>>>>>>>>
>>>>>>>> /usr/local/bin $ ll perl5*
>>>>>>>> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 ->  
>>>>>>>> perl5.10.1
>>>>>>>> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
>>>>>>>> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
>>>>>>>> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
>>>>>>>> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
>>>>>>>> /usr/local/bin $ grep -r Perl_pad_sv perl*
>>>>>>>> Binary file perl5.8.7 matches
>>>>>>>> Binary file perl5.8.8 matches
>>>>>>>> Binary file perl5.8.9 matches
>>>>>>>> /usr/local/bin $
>>>>>>>>
>>>>>>>> So the symbol in the error message is wanted by the newly-built
>>>>>>>> mod_perl, but perl 5.10.1 does not include it.
>>>>>>>>
>>>>>>>> Yes that's exactly what the error message says, but the mailing
>>>>>>>> list is so quiet that I wonder if my filters have started  
>>>>>>>> eating
>>>>>>>> its emails...
>>>>>>>
>>>>>>> Perl_pad_sv is in there.  How did you install 5.10.1?
>>>>>>>
>>>>>>> phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
>>>>>>> embed.h
>>>>>>> 638:#define pad_sv                      Perl_pad_sv
>>>>>>> 2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)
>>>>>>>
>>>>>>> makedef.pl
>>>>>>> 627:                Perl_pad_sv
>>>>>>>
>>>>>>> pad.c
>>>>>>> 927:Perl_pad_sv(pTHX_ PADOFFSET po)
>>>>>>>
>>>>>>> proto.h
>>>>>>> 2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> cmac
>>>>>>>>
>>>>>>>>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>>>>>>>>
>>>>>>>>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com>  
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> -------------8<---------- Start Bug Report
>>>>>>>>>>> ------------8<----------
>>>>>>>>>>> 1. Problem Description:
>>>>>>>>>>>
>>>>>>>>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both  
>>>>>>>>>>> seem to be
>>>>>>>>>>> working
>>>>>>>>>>> OK,
>>>>>>>>>>> although Apache with using my old mod_perl 2.04 that uses  
>>>>>>>>>>> perl
>>>>>>>>>>> 5.8.9.
>>>>>>>>>>
>>>>>>>>>> Have you rebuilt your mod_perl 2.0.4 instance from scratch  
>>>>>>>>>> using
>>>>>>>>>> 5.10.1?  Undefined symbol warnings like this usually mean  
>>>>>>>>>> you are
>>>>>>>>>> trying to use a version of mod_perl that has been built with
>>>>>>>>>> another
>>>>>>>>>> perl binary.
>>>>>>>>>>
>>>>>>>>>> Suggest running make clean, then:
>>>>>>>>>>
>>>>>>>>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>>>>>>>>> make
>>>>>>>>>> make test
>>>>>>>>>
>>>>>>>>> Yes, that is pretty much exactly what I've done.  Here is the
>>>>>>>>> command
>>>>>>>>> file
>>>>>>>>> (that precedes make):
>>>>>>>>>
>>>>>>>>> #! /bin/sh
>>>>>>>>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>>>>>>>>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>>>>>>>>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> make test in both the release mod_perl 2.0.4 and the latest
>>>>>>>>>>> snapshot
>>>>>>>>>>> 2.0.5
>>>>>>>>>>> gives the same error:
>>>>>>>>>>>
>>>>>>>>>>> $ make test
>>>>>>>>>>> cd "src/modules/perl" && make
>>>>>>>>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>>>>>>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>>>>>>>>> APACHE_TEST_USER=
>>>>>>>>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib   
>>>>>>>>>>> t/TEST
>>>>>>>>>>> -bugreport
>>>>>>>>>>> -verbose=0
>>>>>>>>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>>>>>>>>> using Apache/2.2.13 (prefork MPM)
>>>>>>>>>>>
>>>>>>>>>>> waiting 120 seconds for server to start: .httpd: Syntax  
>>>>>>>>>>> error on
>>>>>>>>>>> line
>>>>>>>>>>> 17
>>>>>>>>>>> of
>>>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so:  
>>>>>>>>>>> Undefined symbol
>>>>>>>>>>> "Perl_pad_sv"
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2. Used Components and their Configuration:
>>>>>>>>>>>
>>>>>>>>>>> *** mod_perl version 2.000005
>>>>>>>>>>>
>>>>>>>>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>>>>>>>>
>>>>>>>>>>> *** Makefile.PL options:
>>>>>>>>>>>  MP_APR_LIB     => aprext
>>>>>>>>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>>>>>>>>  MP_COMPAT_1X   => 1
>>>>>>>>>>>  MP_GENERATE_XS => 1
>>>>>>>>>>>  MP_LIBNAME     => mod_perl
>>>>>>>>>>>  MP_USE_DSO     => 1
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *** /usr/local/apache2/bin/httpd -V
>>>>>>>>>>> Server version: Apache/2.2.13 (Unix)
>>>>>>>>>>> Server built:   Aug 29 2009 16:57:40
>>>>>>>>>>> Server's Module Magic Number: 20051115:23
>>>>>>>>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>>>>>>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>>>>>>>>> Architecture:   32-bit
>>>>>>>>>>> Server MPM:     Prefork
>>>>>>>>>>>  threaded:     no
>>>>>>>>>>>  forked:     yes (variable process count)
>>>>>>>>>>> Server compiled with....
>>>>>>>>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>>>>>>>>  -D APR_HAS_SENDFILE
>>>>>>>>>>>  -D APR_HAS_MMAP
>>>>>>>>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>>>>>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>>>>>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>>>>>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>>>>>>>>  -D APR_HAS_OTHER_CHILD
>>>>>>>>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>>>>>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>>>>>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>>>>>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>>>>>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>>>>>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>>>>>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>>>>>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>>>>>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>>>>>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>>>>>>>>
>>>>>>>>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>>>>>>>>> /usr/local/apache2/bin/httpd:
>>>>>>>>>>>    libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>>>>>>>>    libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>>>>>>>>    libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>>>>>>>>    libaprutil-1.so.3 => /usr/local/apache2/lib/ 
>>>>>>>>>>> libaprutil-1.so.3
>>>>>>>>>>> (0x2825c000)
>>>>>>>>>>>    libexpat.so.6 => /usr/local/lib/libexpat.so.6  
>>>>>>>>>>> (0x2827c000)
>>>>>>>>>>>    libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3
>>>>>>>>>>> (0x2829d000)
>>>>>>>>>>>    libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>>>>>>>>    libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>>>>>>>>    libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *** (apr|apu)-config linking info
>>>>>>>>>>>
>>>>>>>>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/ 
>>>>>>>>>>> local/lib
>>>>>>>>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> *** /usr/local/bin/perl -V
>>>>>>>>>>> Summary of my perl5 (revision 5 version 10 subversion 1)
>>>>>>>>>>> configuration:
>>>>>>>>>>>
>>>>>>>>>>>  Platform:
>>>>>>>>>>>  osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>>>>>>>>  uname='freebsd animalhead.com 6.3-release freebsd 6.3- 
>>>>>>>>>>> release #3:
>>>>>>>>>>> fri
>>>>>>>>>>> jan
>>>>>>>>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern  
>>>>>>>>>>> i386 '
>>>>>>>>>>>  config_args='-Dd_dosuid
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/ 
>>>>>>>>>>> perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>>>>>>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>>>>>>>>  hint=recommended, useposix=true, d_sigaction=define
>>>>>>>>>>>  useithreads=undef, usemultiplicity=undef
>>>>>>>>>>>  useperlio=define, d_sfio=undef, uselargefiles=define,
>>>>>>>>>>> usesocks=undef
>>>>>>>>>>>  use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>>>>>>>>  usemymalloc=n, bincompat5005=undef
>>>>>>>>>>>  Compiler:
>>>>>>>>>>>  cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>>>>>>>>  optimize='-O',
>>>>>>>>>>>  cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>>>> -fno-strict-aliasing
>>>>>>>>>>> -pipe -I/usr/local/include'
>>>>>>>>>>>  ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',
>>>>>>>>>>> gccosandvers=''
>>>>>>>>>>>  intsize=4, longsize=4, ptrsize=4, doublesize=8,  
>>>>>>>>>>> byteorder=1234
>>>>>>>>>>>  d_longlong=define, longlongsize=8, d_longdbl=define,
>>>>>>>>>>> longdblsize=12
>>>>>>>>>>>  ivtype='long', ivsize=4, nvtype='double', nvsize=8,
>>>>>>>>>>> Off_t='off_t',
>>>>>>>>>>> lseeksize=8
>>>>>>>>>>>  alignbytes=4, prototype=define
>>>>>>>>>>>  Linker and Libraries:
>>>>>>>>>>>  ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>>>>>>>>  libpth=/usr/lib /usr/local/lib
>>>>>>>>>>>  libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>>>>>>>>  perllibs=-lm -lcrypt -lutil -lc
>>>>>>>>>>>  libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>>>>>>>>  gnulibc_version=''
>>>>>>>>>>>  Dynamic Linking:
>>>>>>>>>>>  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,  
>>>>>>>>>>> ccdlflags=' '
>>>>>>>>>>>  cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/ 
>>>>>>>>>>> local/lib'
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Characteristics of this binary (from libperl):
>>>>>>>>>>>  Compile-time options: PERL_DONT_CREATE_GVSV  
>>>>>>>>>>> PERL_MALLOC_WRAP
>>>>>>>>>>>                    USE_LARGE_FILES USE_PERLIO
>>>>>>>>>>>  Built under freebsd
>>>>>>>>>>>  Compiled at Aug 29 2009 20:24:18
>>>>>>>>>>>  %ENV:
>>>>>>>>>>>  PERL_LWP_USE_HTTP_10="1"
>>>>>>>>>>>  @INC:
>>>>>>>>>>>  /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>>>>>>>>  /usr/local/lib/perl5/5.10.1
>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1
>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.9
>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.8
>>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.7
>>>>>>>>>>>  /usr/local/lib/perl5/site_perl
>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl
>>>>>>>>>>>  /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>>>>>>>>  /usr/local/lib/perl5/5.8.9
>>>>>>>>>>>  /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>>>>>>>>  /usr/local/lib/perl5/5.8.8
>>>>>>>>>>>  /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>>>>>>>>  /usr/local/lib/perl5/5.8.7
>>>>>>>>>>>  .
>>>>>>>>>>>
>>>>>>>>>>> *** Packages of interest status:
>>>>>>>>>>>
>>>>>>>>>>> Apache2            : -
>>>>>>>>>>> Apache2::Request   : -
>>>>>>>>>>> CGI                : 3.45
>>>>>>>>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>>>>>>>>> LWP                : 5.831
>>>>>>>>>>> mod_perl           : -
>>>>>>>>>>> mod_perl2          : -
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>>>>>>>>
>>>>>>>>>>>  [CORE TRACE COMES HERE]
>>>>>>>>>>>
>>>>>>>>>>> This report was generated by t/REPORT on Sun Aug 30  
>>>>>>>>>>> 04:28:22 2009
>>>>>>>>>>> GMT.
>>>>>>>>>>>
>>>>>>>>>>> -------------8<---------- End Bug Report
>>>>>>>>>>> --------------8<----------

Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by Fred Moyer <fr...@redhotpenguin.com>.
On Tue, Sep 1, 2009 at 10:14 PM, <cr...@animalhead.com> wrote:
> But this is the mod_perl mailing list.  It is the place to which
> one sends reports of bugs or problems with mod_perl.  I sent such
> a report, citing this undefined symbol when building mod_perl2.

Right, but if you are mixing major versions of perl, you'll probably
encounter issues in other places.  mod_perl may be the first place you
are seeing this.

Think of it this way - would you try this same install procedure with
5.6 and 5.8?  Maybe 5.8 and 5.10 work together seamlessly, but I would
look to that as a likely source of problems.

ack is App::Ack, available from CPAN.

I've pulled down 5.10.1 but haven't had time to do a build yet.  When
I do, I'm going to install 5.10.1 a separate location from my 5.8
libraries.  Maybe it can integrate with 5.8 (the perl 5 porters are a
very talented crew), but discovering an edge case is not something on
my todo list :)

I like to keep my mod_perl setup using a different perl build than the
system perl.  That way, I won't hose my system if I want to try some
new build options for my mod_perl based perl install.

> It is hard for me to imagine that the fact that I gave the perl
> build process a list of directories to append to @INC should
> affect the presence or absence of a symbol in the resultant perl
> binary.  The only time that perl will even consult those
> directories are when it is looking for a module name that it
> doesn't find in the 5.10.1 directories.
>
> There is not much in the modules in @INC directories that is
> necessarily connected to "major versions of perl".  Of course
> it's possible that some older modules may not work as well with
> a new version as with older versions, but in this case it's the
> responsibility of the author to work out and release a new
> version that will hopefully work equally well with the older
> and newer perls.  And any module can specify the oldest version
> of perl (or other modules on which it depends) that it will
> work with.
>
> I always maintain my perl modules with -MCPAN's r command, and
> upgrade those for which new versions are available on a regular
> basis.
>
> I don't know the command 'ack' that you used in your work below,
> but it looks like it examined source files in a subdirectory of
> your home directory (~).
>
> Do you have a perl5.10.1 binary that you have used in conjunction
> with mod_perl2?
>
> If so, can you please cd to the directory that contains that
> binary (/usr/local/bin?) and enter a grep command like I used:
>
> grep Perl_pad_sv perl5*
>
> and see if your 5.10.1 binary contains the symbol?  And if so,
> how did your binary come to be?
>
> Thanks,
> cmac
>
>
> On Sep 1, 2009, at 9:32 PM, Fred Moyer wrote:
>
>> [cc'ing the list as to not break the thread]
>>
>> On Tue, Sep 1, 2009 at 7:41 PM, <cr...@animalhead.com> wrote:
>>>
>>> I have always included previous perl libraries in the @INC of
>>> new builds.  And it has always worked, with the single
>>> exception of building mod_perl2 this time.  All of the perl
>>> scripts and modules on my site work well under the new 5.10.1.
>>
>> I don't know enough here to say one way or the other about this, but
>> you're mixing major versions of perl (5.10 vs 5.8)
>>
>> The Perl 5 Porters would be a good place for these issues.  But you
>> are seeing unresolved symbol errors when trying to use different major
>> versions of Perl.  That is enough circumstantial evidence that if I
>> were in your shoes, I'd use a separate 5.10 install.  But p5p could
>> probably give a more educated analysis of this.
>>
>>>
>>> Aside from the pain of re-downloading all kinds of modules
>>> as they prove to be needed over the next year or so, I know
>>> there are items in the 5.8.7 libraries from my Internet
>>> Hosting Provider, that are needed to run software from the IHP.
>>>
>>> I can certainly build a 5.10.1 without the otherlibs, and
>>> locate it somewhere else than in /usr/local/bin.  Will that
>>> process completely replace all of:
>>>
>>> /usr/local/lib/perl5/5.10.1/i386-freebsd
>>> /usr/local/lib/perl5/5.10.1
>>> /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>> /usr/local/lib/perl5/site_perl/5.10.1
>>> ??
>>>
>>> If so, I suppose could copy them somewhere before the
>>> build, and copy them back after the build.
>>>
>>> In "Non-Boolean Build Options" on
>>>
>>> http://perl.apache.org/docs/2.0/user/install/install.html,
>>>
>>> I don't see a command to tell the mod_perl build process to
>>> use a particular perl.  If I say $perl_other Makefile.PL
>>> in the modperl-2.x directory, does that do it?
>>>
>>> Thanks for being there,
>>> cmac
>>>
>>>
>>> On Sep 1, 2009, at 5:58 PM, Fred Moyer wrote:
>>>
>>>> Can you please cc the list on all replies?
>>>>
>>>> On Tue, Sep 1, 2009 at 5:41 PM, <cr...@animalhead.com> wrote:
>>>>>
>>>>> cd /build/perl-5.10.1/
>>>>> make veryclean
>>>>> ./Configure -Dd_dosuid
>>>>>
>>>>>
>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/site_perl/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/site_perl/5.8.8:/usr/local/lib/perl5/5.8.7:/usr/local/lib/perl5/site_perl/5.8.7:/usr/local/lib/perl5/vendor_perl/5.8.7
>>>>> -Dmydomain=animalhead.com
>>>>
>>>> Why are you configuring 5.10.1 with 5.8.x libs?
>>>>
>>>> Can you try a build without otherlibdirs?
>>>>
>>>>>
>>>>>   change optimization '-O' to '-O2'
>>>>>   search other versions? [5.8.9 5.8.8 5.8.7] none
>>>>>   change email 'xxxxxxxx@animalhead.com' to 'mackenna@...'
>>>>>
>>>>> make
>>>>> make test                      <-- no errors for 5.10.1
>>>>> sudo make install
>>>>>
>>>>>
>>>>> On Sep 1, 2009, at 11:23 AM, Fred Moyer wrote:
>>>>>
>>>>>> On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
>>>>>>>
>>>>>>> A bit more data on the problem reported below:
>>>>>>>
>>>>>>> /build/modperl-2.0 $ grep -r Perl_pad_sv *
>>>>>>> Binary file src/modules/perl/mod_perl.so matches
>>>>>>> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
>>>>>>> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22
>>>>>>> src/modules/perl/mod_perl.so
>>>>>>> /build/modperl-2.0 $ cd /usr/local/bin
>>>>>>>
>>>>>>> /usr/local/bin $ ll perl5*
>>>>>>> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 -> perl5.10.1
>>>>>>> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
>>>>>>> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
>>>>>>> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
>>>>>>> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
>>>>>>> /usr/local/bin $ grep -r Perl_pad_sv perl*
>>>>>>> Binary file perl5.8.7 matches
>>>>>>> Binary file perl5.8.8 matches
>>>>>>> Binary file perl5.8.9 matches
>>>>>>> /usr/local/bin $
>>>>>>>
>>>>>>> So the symbol in the error message is wanted by the newly-built
>>>>>>> mod_perl, but perl 5.10.1 does not include it.
>>>>>>>
>>>>>>> Yes that's exactly what the error message says, but the mailing
>>>>>>> list is so quiet that I wonder if my filters have started eating
>>>>>>> its emails...
>>>>>>
>>>>>> Perl_pad_sv is in there.  How did you install 5.10.1?
>>>>>>
>>>>>> phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
>>>>>> embed.h
>>>>>> 638:#define pad_sv                      Perl_pad_sv
>>>>>> 2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)
>>>>>>
>>>>>> makedef.pl
>>>>>> 627:                Perl_pad_sv
>>>>>>
>>>>>> pad.c
>>>>>> 927:Perl_pad_sv(pTHX_ PADOFFSET po)
>>>>>>
>>>>>> proto.h
>>>>>> 2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> cmac
>>>>>>>
>>>>>>>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>>>>>>>
>>>>>>>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>>>>>>>>>>
>>>>>>>>>> -------------8<---------- Start Bug Report
>>>>>>>>>> ------------8<----------
>>>>>>>>>> 1. Problem Description:
>>>>>>>>>>
>>>>>>>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be
>>>>>>>>>> working
>>>>>>>>>> OK,
>>>>>>>>>> although Apache with using my old mod_perl 2.04 that uses perl
>>>>>>>>>> 5.8.9.
>>>>>>>>>
>>>>>>>>> Have you rebuilt your mod_perl 2.0.4 instance from scratch using
>>>>>>>>> 5.10.1?  Undefined symbol warnings like this usually mean you are
>>>>>>>>> trying to use a version of mod_perl that has been built with
>>>>>>>>> another
>>>>>>>>> perl binary.
>>>>>>>>>
>>>>>>>>> Suggest running make clean, then:
>>>>>>>>>
>>>>>>>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>>>>>>>> make
>>>>>>>>> make test
>>>>>>>>
>>>>>>>> Yes, that is pretty much exactly what I've done.  Here is the
>>>>>>>> command
>>>>>>>> file
>>>>>>>> (that precedes make):
>>>>>>>>
>>>>>>>> #! /bin/sh
>>>>>>>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>>>>>>>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>>>>>>>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> make test in both the release mod_perl 2.0.4 and the latest
>>>>>>>>>> snapshot
>>>>>>>>>> 2.0.5
>>>>>>>>>> gives the same error:
>>>>>>>>>>
>>>>>>>>>> $ make test
>>>>>>>>>> cd "src/modules/perl" && make
>>>>>>>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>>>>>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>>>>>>>> APACHE_TEST_USER=
>>>>>>>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST
>>>>>>>>>> -bugreport
>>>>>>>>>> -verbose=0
>>>>>>>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>>>>>>>> using Apache/2.2.13 (prefork MPM)
>>>>>>>>>>
>>>>>>>>>> waiting 120 seconds for server to start: .httpd: Syntax error on
>>>>>>>>>> line
>>>>>>>>>> 17
>>>>>>>>>> of
>>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
>>>>>>>>>> "Perl_pad_sv"
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2. Used Components and their Configuration:
>>>>>>>>>>
>>>>>>>>>> *** mod_perl version 2.000005
>>>>>>>>>>
>>>>>>>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>>>>>>>
>>>>>>>>>> *** Makefile.PL options:
>>>>>>>>>>  MP_APR_LIB     => aprext
>>>>>>>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>>>>>>>  MP_COMPAT_1X   => 1
>>>>>>>>>>  MP_GENERATE_XS => 1
>>>>>>>>>>  MP_LIBNAME     => mod_perl
>>>>>>>>>>  MP_USE_DSO     => 1
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *** /usr/local/apache2/bin/httpd -V
>>>>>>>>>> Server version: Apache/2.2.13 (Unix)
>>>>>>>>>> Server built:   Aug 29 2009 16:57:40
>>>>>>>>>> Server's Module Magic Number: 20051115:23
>>>>>>>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>>>>>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>>>>>>>> Architecture:   32-bit
>>>>>>>>>> Server MPM:     Prefork
>>>>>>>>>>  threaded:     no
>>>>>>>>>>  forked:     yes (variable process count)
>>>>>>>>>> Server compiled with....
>>>>>>>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>>>>>>>  -D APR_HAS_SENDFILE
>>>>>>>>>>  -D APR_HAS_MMAP
>>>>>>>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>>>>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>>>>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>>>>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>>>>>>>  -D APR_HAS_OTHER_CHILD
>>>>>>>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>>>>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>>>>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>>>>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>>>>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>>>>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>>>>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>>>>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>>>>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>>>>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>>>>>>>
>>>>>>>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>>>>>>>> /usr/local/apache2/bin/httpd:
>>>>>>>>>>    libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>>>>>>>    libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>>>>>>>    libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>>>>>>>    libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
>>>>>>>>>> (0x2825c000)
>>>>>>>>>>    libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>>>>>>>>>    libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3
>>>>>>>>>> (0x2829d000)
>>>>>>>>>>    libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>>>>>>>    libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>>>>>>>    libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *** (apr|apu)-config linking info
>>>>>>>>>>
>>>>>>>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>>>>>>>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *** /usr/local/bin/perl -V
>>>>>>>>>> Summary of my perl5 (revision 5 version 10 subversion 1)
>>>>>>>>>> configuration:
>>>>>>>>>>
>>>>>>>>>>  Platform:
>>>>>>>>>>  osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>>>>>>>  uname='freebsd animalhead.com 6.3-release freebsd 6.3-release #3:
>>>>>>>>>> fri
>>>>>>>>>> jan
>>>>>>>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>>>>>>>>>  config_args='-Dd_dosuid
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>>>>>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>>>>>>>  hint=recommended, useposix=true, d_sigaction=define
>>>>>>>>>>  useithreads=undef, usemultiplicity=undef
>>>>>>>>>>  useperlio=define, d_sfio=undef, uselargefiles=define,
>>>>>>>>>> usesocks=undef
>>>>>>>>>>  use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>>>>>>>  usemymalloc=n, bincompat5005=undef
>>>>>>>>>>  Compiler:
>>>>>>>>>>  cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>>>>>>>  optimize='-O',
>>>>>>>>>>  cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>>> -fno-strict-aliasing
>>>>>>>>>> -pipe -I/usr/local/include'
>>>>>>>>>>  ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',
>>>>>>>>>> gccosandvers=''
>>>>>>>>>>  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>>>>>>>>>>  d_longlong=define, longlongsize=8, d_longdbl=define,
>>>>>>>>>> longdblsize=12
>>>>>>>>>>  ivtype='long', ivsize=4, nvtype='double', nvsize=8,
>>>>>>>>>> Off_t='off_t',
>>>>>>>>>> lseeksize=8
>>>>>>>>>>  alignbytes=4, prototype=define
>>>>>>>>>>  Linker and Libraries:
>>>>>>>>>>  ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>>>>>>>  libpth=/usr/lib /usr/local/lib
>>>>>>>>>>  libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>>>>>>>  perllibs=-lm -lcrypt -lutil -lc
>>>>>>>>>>  libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>>>>>>>  gnulibc_version=''
>>>>>>>>>>  Dynamic Linking:
>>>>>>>>>>  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>>>>>>>>>  cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Characteristics of this binary (from libperl):
>>>>>>>>>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>>>>>>>>                    USE_LARGE_FILES USE_PERLIO
>>>>>>>>>>  Built under freebsd
>>>>>>>>>>  Compiled at Aug 29 2009 20:24:18
>>>>>>>>>>  %ENV:
>>>>>>>>>>  PERL_LWP_USE_HTTP_10="1"
>>>>>>>>>>  @INC:
>>>>>>>>>>  /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>>>>>>>  /usr/local/lib/perl5/5.10.1
>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1
>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.9
>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.8
>>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.7
>>>>>>>>>>  /usr/local/lib/perl5/site_perl
>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>>>>>>  /usr/local/lib/perl5/vendor_perl
>>>>>>>>>>  /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>>>>>>>  /usr/local/lib/perl5/5.8.9
>>>>>>>>>>  /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>>>>>>>  /usr/local/lib/perl5/5.8.8
>>>>>>>>>>  /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>>>>>>>  /usr/local/lib/perl5/5.8.7
>>>>>>>>>>  .
>>>>>>>>>>
>>>>>>>>>> *** Packages of interest status:
>>>>>>>>>>
>>>>>>>>>> Apache2            : -
>>>>>>>>>> Apache2::Request   : -
>>>>>>>>>> CGI                : 3.45
>>>>>>>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>>>>>>>> LWP                : 5.831
>>>>>>>>>> mod_perl           : -
>>>>>>>>>> mod_perl2          : -
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>>>>>>>
>>>>>>>>>>  [CORE TRACE COMES HERE]
>>>>>>>>>>
>>>>>>>>>> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009
>>>>>>>>>> GMT.
>>>>>>>>>>
>>>>>>>>>> -------------8<---------- End Bug Report
>>>>>>>>>> --------------8<----------
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>
>>>
>
>

Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by cr...@animalhead.com.
But this is the mod_perl mailing list.  It is the place to which
one sends reports of bugs or problems with mod_perl.  I sent such
a report, citing this undefined symbol when building mod_perl2.

It is hard for me to imagine that the fact that I gave the perl
build process a list of directories to append to @INC should
affect the presence or absence of a symbol in the resultant perl
binary.  The only time that perl will even consult those
directories are when it is looking for a module name that it
doesn't find in the 5.10.1 directories.

There is not much in the modules in @INC directories that is
necessarily connected to "major versions of perl".  Of course
it's possible that some older modules may not work as well with
a new version as with older versions, but in this case it's the
responsibility of the author to work out and release a new
version that will hopefully work equally well with the older
and newer perls.  And any module can specify the oldest version
of perl (or other modules on which it depends) that it will
work with.

I always maintain my perl modules with -MCPAN's r command, and
upgrade those for which new versions are available on a regular
basis.

I don't know the command 'ack' that you used in your work below,
but it looks like it examined source files in a subdirectory of
your home directory (~).

Do you have a perl5.10.1 binary that you have used in conjunction
with mod_perl2?

If so, can you please cd to the directory that contains that
binary (/usr/local/bin?) and enter a grep command like I used:

grep Perl_pad_sv perl5*

and see if your 5.10.1 binary contains the symbol?  And if so,
how did your binary come to be?

Thanks,
cmac


On Sep 1, 2009, at 9:32 PM, Fred Moyer wrote:

> [cc'ing the list as to not break the thread]
>
> On Tue, Sep 1, 2009 at 7:41 PM, <cr...@animalhead.com> wrote:
>> I have always included previous perl libraries in the @INC of
>> new builds.  And it has always worked, with the single
>> exception of building mod_perl2 this time.  All of the perl
>> scripts and modules on my site work well under the new 5.10.1.
>
> I don't know enough here to say one way or the other about this, but
> you're mixing major versions of perl (5.10 vs 5.8)
>
> The Perl 5 Porters would be a good place for these issues.  But you
> are seeing unresolved symbol errors when trying to use different major
> versions of Perl.  That is enough circumstantial evidence that if I
> were in your shoes, I'd use a separate 5.10 install.  But p5p could
> probably give a more educated analysis of this.
>
>>
>> Aside from the pain of re-downloading all kinds of modules
>> as they prove to be needed over the next year or so, I know
>> there are items in the 5.8.7 libraries from my Internet
>> Hosting Provider, that are needed to run software from the IHP.
>>
>> I can certainly build a 5.10.1 without the otherlibs, and
>> locate it somewhere else than in /usr/local/bin.  Will that
>> process completely replace all of:
>>
>> /usr/local/lib/perl5/5.10.1/i386-freebsd
>> /usr/local/lib/perl5/5.10.1
>> /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>> /usr/local/lib/perl5/site_perl/5.10.1
>> ??
>>
>> If so, I suppose could copy them somewhere before the
>> build, and copy them back after the build.
>>
>> In "Non-Boolean Build Options" on
>>
>> http://perl.apache.org/docs/2.0/user/install/install.html,
>>
>> I don't see a command to tell the mod_perl build process to
>> use a particular perl.  If I say $perl_other Makefile.PL
>> in the modperl-2.x directory, does that do it?
>>
>> Thanks for being there,
>> cmac
>>
>>
>> On Sep 1, 2009, at 5:58 PM, Fred Moyer wrote:
>>
>>> Can you please cc the list on all replies?
>>>
>>> On Tue, Sep 1, 2009 at 5:41 PM, <cr...@animalhead.com> wrote:
>>>>
>>>> cd /build/perl-5.10.1/
>>>> make veryclean
>>>> ./Configure -Dd_dosuid
>>>>
>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/ 
>>>> site_perl/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/ 
>>>> site_perl/5.8.8:/usr/local/lib/perl5/5.8.7:/usr/local/lib/perl5/ 
>>>> site_perl/5.8.7:/usr/local/lib/perl5/vendor_perl/5.8.7
>>>> -Dmydomain=animalhead.com
>>>
>>> Why are you configuring 5.10.1 with 5.8.x libs?
>>>
>>> Can you try a build without otherlibdirs?
>>>
>>>>
>>>>    change optimization '-O' to '-O2'
>>>>    search other versions? [5.8.9 5.8.8 5.8.7] none
>>>>    change email 'xxxxxxxx@animalhead.com' to 'mackenna@...'
>>>>
>>>> make
>>>> make test                      <-- no errors for 5.10.1
>>>> sudo make install
>>>>
>>>>
>>>> On Sep 1, 2009, at 11:23 AM, Fred Moyer wrote:
>>>>
>>>>> On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
>>>>>>
>>>>>> A bit more data on the problem reported below:
>>>>>>
>>>>>> /build/modperl-2.0 $ grep -r Perl_pad_sv *
>>>>>> Binary file src/modules/perl/mod_perl.so matches
>>>>>> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
>>>>>> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22
>>>>>> src/modules/perl/mod_perl.so
>>>>>> /build/modperl-2.0 $ cd /usr/local/bin
>>>>>>
>>>>>> /usr/local/bin $ ll perl5*
>>>>>> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 ->  
>>>>>> perl5.10.1
>>>>>> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
>>>>>> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
>>>>>> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
>>>>>> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
>>>>>> /usr/local/bin $ grep -r Perl_pad_sv perl*
>>>>>> Binary file perl5.8.7 matches
>>>>>> Binary file perl5.8.8 matches
>>>>>> Binary file perl5.8.9 matches
>>>>>> /usr/local/bin $
>>>>>>
>>>>>> So the symbol in the error message is wanted by the newly-built
>>>>>> mod_perl, but perl 5.10.1 does not include it.
>>>>>>
>>>>>> Yes that's exactly what the error message says, but the mailing
>>>>>> list is so quiet that I wonder if my filters have started eating
>>>>>> its emails...
>>>>>
>>>>> Perl_pad_sv is in there.  How did you install 5.10.1?
>>>>>
>>>>> phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
>>>>> embed.h
>>>>> 638:#define pad_sv                      Perl_pad_sv
>>>>> 2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)
>>>>>
>>>>> makedef.pl
>>>>> 627:                Perl_pad_sv
>>>>>
>>>>> pad.c
>>>>> 927:Perl_pad_sv(pTHX_ PADOFFSET po)
>>>>>
>>>>> proto.h
>>>>> 2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);
>>>>>
>>>>>
>>>>>>
>>>>>> cmac
>>>>>>
>>>>>>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>>>>>>
>>>>>>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>>>>>>>>>
>>>>>>>>> -------------8<---------- Start Bug Report  
>>>>>>>>> ------------8<----------
>>>>>>>>> 1. Problem Description:
>>>>>>>>>
>>>>>>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both  
>>>>>>>>> seem to be
>>>>>>>>> working
>>>>>>>>> OK,
>>>>>>>>> although Apache with using my old mod_perl 2.04 that uses perl
>>>>>>>>> 5.8.9.
>>>>>>>>
>>>>>>>> Have you rebuilt your mod_perl 2.0.4 instance from scratch  
>>>>>>>> using
>>>>>>>> 5.10.1?  Undefined symbol warnings like this usually mean  
>>>>>>>> you are
>>>>>>>> trying to use a version of mod_perl that has been built with  
>>>>>>>> another
>>>>>>>> perl binary.
>>>>>>>>
>>>>>>>> Suggest running make clean, then:
>>>>>>>>
>>>>>>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>>>>>>> make
>>>>>>>> make test
>>>>>>>
>>>>>>> Yes, that is pretty much exactly what I've done.  Here is the  
>>>>>>> command
>>>>>>> file
>>>>>>> (that precedes make):
>>>>>>>
>>>>>>> #! /bin/sh
>>>>>>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>>>>>>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>>>>>>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>>>>>>
>>>>>>>>>
>>>>>>>>> make test in both the release mod_perl 2.0.4 and the latest  
>>>>>>>>> snapshot
>>>>>>>>> 2.0.5
>>>>>>>>> gives the same error:
>>>>>>>>>
>>>>>>>>> $ make test
>>>>>>>>> cd "src/modules/perl" && make
>>>>>>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>>>>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>>>>>>> APACHE_TEST_USER=
>>>>>>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/ 
>>>>>>>>> TEST
>>>>>>>>> -bugreport
>>>>>>>>> -verbose=0
>>>>>>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>>>>>>> using Apache/2.2.13 (prefork MPM)
>>>>>>>>>
>>>>>>>>> waiting 120 seconds for server to start: .httpd: Syntax  
>>>>>>>>> error on
>>>>>>>>> line
>>>>>>>>> 17
>>>>>>>>> of
>>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined  
>>>>>>>>> symbol
>>>>>>>>> "Perl_pad_sv"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2. Used Components and their Configuration:
>>>>>>>>>
>>>>>>>>> *** mod_perl version 2.000005
>>>>>>>>>
>>>>>>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>>>>>>
>>>>>>>>> *** Makefile.PL options:
>>>>>>>>>  MP_APR_LIB     => aprext
>>>>>>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>>>>>>  MP_COMPAT_1X   => 1
>>>>>>>>>  MP_GENERATE_XS => 1
>>>>>>>>>  MP_LIBNAME     => mod_perl
>>>>>>>>>  MP_USE_DSO     => 1
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *** /usr/local/apache2/bin/httpd -V
>>>>>>>>> Server version: Apache/2.2.13 (Unix)
>>>>>>>>> Server built:   Aug 29 2009 16:57:40
>>>>>>>>> Server's Module Magic Number: 20051115:23
>>>>>>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>>>>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>>>>>>> Architecture:   32-bit
>>>>>>>>> Server MPM:     Prefork
>>>>>>>>>  threaded:     no
>>>>>>>>>  forked:     yes (variable process count)
>>>>>>>>> Server compiled with....
>>>>>>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>>>>>>  -D APR_HAS_SENDFILE
>>>>>>>>>  -D APR_HAS_MMAP
>>>>>>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>>>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>>>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>>>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>>>>>>  -D APR_HAS_OTHER_CHILD
>>>>>>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>>>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>>>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>>>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>>>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>>>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>>>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>>>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>>>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>>>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>>>>>>
>>>>>>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>>>>>>> /usr/local/apache2/bin/httpd:
>>>>>>>>>     libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>>>>>>     libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>>>>>>     libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>>>>>>     libaprutil-1.so.3 => /usr/local/apache2/lib/ 
>>>>>>>>> libaprutil-1.so.3
>>>>>>>>> (0x2825c000)
>>>>>>>>>     libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>>>>>>>>     libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3
>>>>>>>>> (0x2829d000)
>>>>>>>>>     libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>>>>>>     libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>>>>>>     libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *** (apr|apu)-config linking info
>>>>>>>>>
>>>>>>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/ 
>>>>>>>>> local/lib
>>>>>>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *** /usr/local/bin/perl -V
>>>>>>>>> Summary of my perl5 (revision 5 version 10 subversion 1)
>>>>>>>>> configuration:
>>>>>>>>>
>>>>>>>>>  Platform:
>>>>>>>>>  osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>>>>>>  uname='freebsd animalhead.com 6.3-release freebsd 6.3- 
>>>>>>>>> release #3:
>>>>>>>>> fri
>>>>>>>>> jan
>>>>>>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>>>>>>>>  config_args='-Dd_dosuid
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/ 
>>>>>>>>> perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>>>>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>>>>>>  hint=recommended, useposix=true, d_sigaction=define
>>>>>>>>>  useithreads=undef, usemultiplicity=undef
>>>>>>>>>  useperlio=define, d_sfio=undef, uselargefiles=define,
>>>>>>>>> usesocks=undef
>>>>>>>>>  use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>>>>>>  usemymalloc=n, bincompat5005=undef
>>>>>>>>>  Compiler:
>>>>>>>>>  cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>>>>>>  optimize='-O',
>>>>>>>>>  cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>>> -fno-strict-aliasing
>>>>>>>>> -pipe -I/usr/local/include'
>>>>>>>>>  ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',
>>>>>>>>> gccosandvers=''
>>>>>>>>>  intsize=4, longsize=4, ptrsize=4, doublesize=8,  
>>>>>>>>> byteorder=1234
>>>>>>>>>  d_longlong=define, longlongsize=8, d_longdbl=define,  
>>>>>>>>> longdblsize=12
>>>>>>>>>  ivtype='long', ivsize=4, nvtype='double', nvsize=8,  
>>>>>>>>> Off_t='off_t',
>>>>>>>>> lseeksize=8
>>>>>>>>>  alignbytes=4, prototype=define
>>>>>>>>>  Linker and Libraries:
>>>>>>>>>  ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>>>>>>  libpth=/usr/lib /usr/local/lib
>>>>>>>>>  libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>>>>>>  perllibs=-lm -lcrypt -lutil -lc
>>>>>>>>>  libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>>>>>>  gnulibc_version=''
>>>>>>>>>  Dynamic Linking:
>>>>>>>>>  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>>>>>>>>  cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/ 
>>>>>>>>> lib'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Characteristics of this binary (from libperl):
>>>>>>>>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>>>>>>>                     USE_LARGE_FILES USE_PERLIO
>>>>>>>>>  Built under freebsd
>>>>>>>>>  Compiled at Aug 29 2009 20:24:18
>>>>>>>>>  %ENV:
>>>>>>>>>  PERL_LWP_USE_HTTP_10="1"
>>>>>>>>>  @INC:
>>>>>>>>>  /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>>>>>>  /usr/local/lib/perl5/5.10.1
>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1
>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.9
>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.8
>>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.7
>>>>>>>>>  /usr/local/lib/perl5/site_perl
>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>>>>>  /usr/local/lib/perl5/vendor_perl
>>>>>>>>>  /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>>>>>>  /usr/local/lib/perl5/5.8.9
>>>>>>>>>  /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>>>>>>  /usr/local/lib/perl5/5.8.8
>>>>>>>>>  /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>>>>>>  /usr/local/lib/perl5/5.8.7
>>>>>>>>>  .
>>>>>>>>>
>>>>>>>>> *** Packages of interest status:
>>>>>>>>>
>>>>>>>>> Apache2            : -
>>>>>>>>> Apache2::Request   : -
>>>>>>>>> CGI                : 3.45
>>>>>>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>>>>>>> LWP                : 5.831
>>>>>>>>> mod_perl           : -
>>>>>>>>> mod_perl2          : -
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>>>>>>
>>>>>>>>>  [CORE TRACE COMES HERE]
>>>>>>>>>
>>>>>>>>> This report was generated by t/REPORT on Sun Aug 30  
>>>>>>>>> 04:28:22 2009
>>>>>>>>> GMT.
>>>>>>>>>
>>>>>>>>> -------------8<---------- End Bug Report  
>>>>>>>>> --------------8<----------
>>>>>>>>>
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>


Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by Fred Moyer <fr...@redhotpenguin.com>.
[cc'ing the list as to not break the thread]

On Tue, Sep 1, 2009 at 7:41 PM, <cr...@animalhead.com> wrote:
> I have always included previous perl libraries in the @INC of
> new builds.  And it has always worked, with the single
> exception of building mod_perl2 this time.  All of the perl
> scripts and modules on my site work well under the new 5.10.1.

I don't know enough here to say one way or the other about this, but
you're mixing major versions of perl (5.10 vs 5.8)

The Perl 5 Porters would be a good place for these issues.  But you
are seeing unresolved symbol errors when trying to use different major
versions of Perl.  That is enough circumstantial evidence that if I
were in your shoes, I'd use a separate 5.10 install.  But p5p could
probably give a more educated analysis of this.

>
> Aside from the pain of re-downloading all kinds of modules
> as they prove to be needed over the next year or so, I know
> there are items in the 5.8.7 libraries from my Internet
> Hosting Provider, that are needed to run software from the IHP.
>
> I can certainly build a 5.10.1 without the otherlibs, and
> locate it somewhere else than in /usr/local/bin.  Will that
> process completely replace all of:
>
> /usr/local/lib/perl5/5.10.1/i386-freebsd
> /usr/local/lib/perl5/5.10.1
> /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
> /usr/local/lib/perl5/site_perl/5.10.1
> ??
>
> If so, I suppose could copy them somewhere before the
> build, and copy them back after the build.
>
> In "Non-Boolean Build Options" on
>
> http://perl.apache.org/docs/2.0/user/install/install.html,
>
> I don't see a command to tell the mod_perl build process to
> use a particular perl.  If I say $perl_other Makefile.PL
> in the modperl-2.x directory, does that do it?
>
> Thanks for being there,
> cmac
>
>
> On Sep 1, 2009, at 5:58 PM, Fred Moyer wrote:
>
>> Can you please cc the list on all replies?
>>
>> On Tue, Sep 1, 2009 at 5:41 PM, <cr...@animalhead.com> wrote:
>>>
>>> cd /build/perl-5.10.1/
>>> make veryclean
>>> ./Configure -Dd_dosuid
>>>
>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/site_perl/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/site_perl/5.8.8:/usr/local/lib/perl5/5.8.7:/usr/local/lib/perl5/site_perl/5.8.7:/usr/local/lib/perl5/vendor_perl/5.8.7
>>> -Dmydomain=animalhead.com
>>
>> Why are you configuring 5.10.1 with 5.8.x libs?
>>
>> Can you try a build without otherlibdirs?
>>
>>>
>>>    change optimization '-O' to '-O2'
>>>    search other versions? [5.8.9 5.8.8 5.8.7] none
>>>    change email 'xxxxxxxx@animalhead.com' to 'mackenna@...'
>>>
>>> make
>>> make test                      <-- no errors for 5.10.1
>>> sudo make install
>>>
>>>
>>> On Sep 1, 2009, at 11:23 AM, Fred Moyer wrote:
>>>
>>>> On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
>>>>>
>>>>> A bit more data on the problem reported below:
>>>>>
>>>>> /build/modperl-2.0 $ grep -r Perl_pad_sv *
>>>>> Binary file src/modules/perl/mod_perl.so matches
>>>>> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
>>>>> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22
>>>>> src/modules/perl/mod_perl.so
>>>>> /build/modperl-2.0 $ cd /usr/local/bin
>>>>>
>>>>> /usr/local/bin $ ll perl5*
>>>>> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 -> perl5.10.1
>>>>> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
>>>>> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
>>>>> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
>>>>> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
>>>>> /usr/local/bin $ grep -r Perl_pad_sv perl*
>>>>> Binary file perl5.8.7 matches
>>>>> Binary file perl5.8.8 matches
>>>>> Binary file perl5.8.9 matches
>>>>> /usr/local/bin $
>>>>>
>>>>> So the symbol in the error message is wanted by the newly-built
>>>>> mod_perl, but perl 5.10.1 does not include it.
>>>>>
>>>>> Yes that's exactly what the error message says, but the mailing
>>>>> list is so quiet that I wonder if my filters have started eating
>>>>> its emails...
>>>>
>>>> Perl_pad_sv is in there.  How did you install 5.10.1?
>>>>
>>>> phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
>>>> embed.h
>>>> 638:#define pad_sv                      Perl_pad_sv
>>>> 2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)
>>>>
>>>> makedef.pl
>>>> 627:                Perl_pad_sv
>>>>
>>>> pad.c
>>>> 927:Perl_pad_sv(pTHX_ PADOFFSET po)
>>>>
>>>> proto.h
>>>> 2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);
>>>>
>>>>
>>>>>
>>>>> cmac
>>>>>
>>>>>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>>>>>
>>>>>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>>>>>>>>
>>>>>>>> -------------8<---------- Start Bug Report ------------8<----------
>>>>>>>> 1. Problem Description:
>>>>>>>>
>>>>>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be
>>>>>>>> working
>>>>>>>> OK,
>>>>>>>> although Apache with using my old mod_perl 2.04 that uses perl
>>>>>>>> 5.8.9.
>>>>>>>
>>>>>>> Have you rebuilt your mod_perl 2.0.4 instance from scratch using
>>>>>>> 5.10.1?  Undefined symbol warnings like this usually mean you are
>>>>>>> trying to use a version of mod_perl that has been built with another
>>>>>>> perl binary.
>>>>>>>
>>>>>>> Suggest running make clean, then:
>>>>>>>
>>>>>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>>>>>> make
>>>>>>> make test
>>>>>>
>>>>>> Yes, that is pretty much exactly what I've done.  Here is the command
>>>>>> file
>>>>>> (that precedes make):
>>>>>>
>>>>>> #! /bin/sh
>>>>>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>>>>>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>>>>>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>>>>>
>>>>>>>>
>>>>>>>> make test in both the release mod_perl 2.0.4 and the latest snapshot
>>>>>>>> 2.0.5
>>>>>>>> gives the same error:
>>>>>>>>
>>>>>>>> $ make test
>>>>>>>> cd "src/modules/perl" && make
>>>>>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>>>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>>>>>> APACHE_TEST_USER=
>>>>>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST
>>>>>>>> -bugreport
>>>>>>>> -verbose=0
>>>>>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>>>>>> using Apache/2.2.13 (prefork MPM)
>>>>>>>>
>>>>>>>> waiting 120 seconds for server to start: .httpd: Syntax error on
>>>>>>>> line
>>>>>>>> 17
>>>>>>>> of
>>>>>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
>>>>>>>> "Perl_pad_sv"
>>>>>>>>
>>>>>>>>
>>>>>>>> 2. Used Components and their Configuration:
>>>>>>>>
>>>>>>>> *** mod_perl version 2.000005
>>>>>>>>
>>>>>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>>>>>
>>>>>>>> *** Makefile.PL options:
>>>>>>>>  MP_APR_LIB     => aprext
>>>>>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>>>>>  MP_COMPAT_1X   => 1
>>>>>>>>  MP_GENERATE_XS => 1
>>>>>>>>  MP_LIBNAME     => mod_perl
>>>>>>>>  MP_USE_DSO     => 1
>>>>>>>>
>>>>>>>>
>>>>>>>> *** /usr/local/apache2/bin/httpd -V
>>>>>>>> Server version: Apache/2.2.13 (Unix)
>>>>>>>> Server built:   Aug 29 2009 16:57:40
>>>>>>>> Server's Module Magic Number: 20051115:23
>>>>>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>>>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>>>>>> Architecture:   32-bit
>>>>>>>> Server MPM:     Prefork
>>>>>>>>  threaded:     no
>>>>>>>>  forked:     yes (variable process count)
>>>>>>>> Server compiled with....
>>>>>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>>>>>  -D APR_HAS_SENDFILE
>>>>>>>>  -D APR_HAS_MMAP
>>>>>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>>>>>  -D APR_HAS_OTHER_CHILD
>>>>>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>>>>>
>>>>>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>>>>>> /usr/local/apache2/bin/httpd:
>>>>>>>>     libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>>>>>     libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>>>>>     libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>>>>>     libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
>>>>>>>> (0x2825c000)
>>>>>>>>     libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>>>>>>>     libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3
>>>>>>>> (0x2829d000)
>>>>>>>>     libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>>>>>     libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>>>>>     libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>>>>>
>>>>>>>>
>>>>>>>> *** (apr|apu)-config linking info
>>>>>>>>
>>>>>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>>>>>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> *** /usr/local/bin/perl -V
>>>>>>>> Summary of my perl5 (revision 5 version 10 subversion 1)
>>>>>>>> configuration:
>>>>>>>>
>>>>>>>>  Platform:
>>>>>>>>  osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>>>>>  uname='freebsd animalhead.com 6.3-release freebsd 6.3-release #3:
>>>>>>>> fri
>>>>>>>> jan
>>>>>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>>>>>>>  config_args='-Dd_dosuid
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>>>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>>>>>  hint=recommended, useposix=true, d_sigaction=define
>>>>>>>>  useithreads=undef, usemultiplicity=undef
>>>>>>>>  useperlio=define, d_sfio=undef, uselargefiles=define,
>>>>>>>> usesocks=undef
>>>>>>>>  use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>>>>>  usemymalloc=n, bincompat5005=undef
>>>>>>>>  Compiler:
>>>>>>>>  cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>>>>>  optimize='-O',
>>>>>>>>  cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>>>> -fno-strict-aliasing
>>>>>>>> -pipe -I/usr/local/include'
>>>>>>>>  ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',
>>>>>>>> gccosandvers=''
>>>>>>>>  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>>>>>>>>  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>>>>>>>>  ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>>>>>>>> lseeksize=8
>>>>>>>>  alignbytes=4, prototype=define
>>>>>>>>  Linker and Libraries:
>>>>>>>>  ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>>>>>  libpth=/usr/lib /usr/local/lib
>>>>>>>>  libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>>>>>  perllibs=-lm -lcrypt -lutil -lc
>>>>>>>>  libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>>>>>  gnulibc_version=''
>>>>>>>>  Dynamic Linking:
>>>>>>>>  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>>>>>>>  cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>>>>>>>>
>>>>>>>>
>>>>>>>> Characteristics of this binary (from libperl):
>>>>>>>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>>>>>>                     USE_LARGE_FILES USE_PERLIO
>>>>>>>>  Built under freebsd
>>>>>>>>  Compiled at Aug 29 2009 20:24:18
>>>>>>>>  %ENV:
>>>>>>>>  PERL_LWP_USE_HTTP_10="1"
>>>>>>>>  @INC:
>>>>>>>>  /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>>>>>  /usr/local/lib/perl5/5.10.1
>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1
>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.9
>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.8
>>>>>>>>  /usr/local/lib/perl5/site_perl/5.8.7
>>>>>>>>  /usr/local/lib/perl5/site_perl
>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>>>>>  /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>>>>  /usr/local/lib/perl5/vendor_perl
>>>>>>>>  /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>>>>>  /usr/local/lib/perl5/5.8.9
>>>>>>>>  /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>>>>>  /usr/local/lib/perl5/5.8.8
>>>>>>>>  /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>>>>>  /usr/local/lib/perl5/5.8.7
>>>>>>>>  .
>>>>>>>>
>>>>>>>> *** Packages of interest status:
>>>>>>>>
>>>>>>>> Apache2            : -
>>>>>>>> Apache2::Request   : -
>>>>>>>> CGI                : 3.45
>>>>>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>>>>>> LWP                : 5.831
>>>>>>>> mod_perl           : -
>>>>>>>> mod_perl2          : -
>>>>>>>>
>>>>>>>>
>>>>>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>>>>>
>>>>>>>>  [CORE TRACE COMES HERE]
>>>>>>>>
>>>>>>>> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009
>>>>>>>> GMT.
>>>>>>>>
>>>>>>>> -------------8<---------- End Bug Report --------------8<----------
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>>
>
>

Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by Fred Moyer <fr...@redhotpenguin.com>.
Can you please cc the list on all replies?

On Tue, Sep 1, 2009 at 5:41 PM, <cr...@animalhead.com> wrote:
> cd /build/perl-5.10.1/
> make veryclean
> ./Configure -Dd_dosuid
> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/site_perl/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/site_perl/5.8.8:/usr/local/lib/perl5/5.8.7:/usr/local/lib/perl5/site_perl/5.8.7:/usr/local/lib/perl5/vendor_perl/5.8.7
> -Dmydomain=animalhead.com

Why are you configuring 5.10.1 with 5.8.x libs?

Can you try a build without otherlibdirs?

>
>     change optimization '-O' to '-O2'
>     search other versions? [5.8.9 5.8.8 5.8.7] none
>     change email 'xxxxxxxx@animalhead.com' to 'mackenna@...'
>
> make
> make test                      <-- no errors for 5.10.1
> sudo make install
>
>
> On Sep 1, 2009, at 11:23 AM, Fred Moyer wrote:
>
>> On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
>>>
>>> A bit more data on the problem reported below:
>>>
>>> /build/modperl-2.0 $ grep -r Perl_pad_sv *
>>> Binary file src/modules/perl/mod_perl.so matches
>>> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
>>> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22
>>> src/modules/perl/mod_perl.so
>>> /build/modperl-2.0 $ cd /usr/local/bin
>>>
>>> /usr/local/bin $ ll perl5*
>>> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 -> perl5.10.1
>>> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
>>> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
>>> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
>>> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
>>> /usr/local/bin $ grep -r Perl_pad_sv perl*
>>> Binary file perl5.8.7 matches
>>> Binary file perl5.8.8 matches
>>> Binary file perl5.8.9 matches
>>> /usr/local/bin $
>>>
>>> So the symbol in the error message is wanted by the newly-built
>>> mod_perl, but perl 5.10.1 does not include it.
>>>
>>> Yes that's exactly what the error message says, but the mailing
>>> list is so quiet that I wonder if my filters have started eating
>>> its emails...
>>
>> Perl_pad_sv is in there.  How did you install 5.10.1?
>>
>> phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
>> embed.h
>> 638:#define pad_sv                      Perl_pad_sv
>> 2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)
>>
>> makedef.pl
>> 627:                Perl_pad_sv
>>
>> pad.c
>> 927:Perl_pad_sv(pTHX_ PADOFFSET po)
>>
>> proto.h
>> 2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);
>>
>>
>>>
>>> cmac
>>>
>>>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>>>
>>>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>>>>>>
>>>>>> -------------8<---------- Start Bug Report ------------8<----------
>>>>>> 1. Problem Description:
>>>>>>
>>>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be
>>>>>> working
>>>>>> OK,
>>>>>> although Apache with using my old mod_perl 2.04 that uses perl 5.8.9.
>>>>>
>>>>> Have you rebuilt your mod_perl 2.0.4 instance from scratch using
>>>>> 5.10.1?  Undefined symbol warnings like this usually mean you are
>>>>> trying to use a version of mod_perl that has been built with another
>>>>> perl binary.
>>>>>
>>>>> Suggest running make clean, then:
>>>>>
>>>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>>>> make
>>>>> make test
>>>>
>>>> Yes, that is pretty much exactly what I've done.  Here is the command
>>>> file
>>>> (that precedes make):
>>>>
>>>> #! /bin/sh
>>>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>>>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>>>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>>>
>>>>>>
>>>>>> make test in both the release mod_perl 2.0.4 and the latest snapshot
>>>>>> 2.0.5
>>>>>> gives the same error:
>>>>>>
>>>>>> $ make test
>>>>>> cd "src/modules/perl" && make
>>>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>>>> APACHE_TEST_USER=
>>>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST
>>>>>> -bugreport
>>>>>> -verbose=0
>>>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>>>> using Apache/2.2.13 (prefork MPM)
>>>>>>
>>>>>> waiting 120 seconds for server to start: .httpd: Syntax error on line
>>>>>> 17
>>>>>> of
>>>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
>>>>>> "Perl_pad_sv"
>>>>>>
>>>>>>
>>>>>> 2. Used Components and their Configuration:
>>>>>>
>>>>>> *** mod_perl version 2.000005
>>>>>>
>>>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>>>
>>>>>> *** Makefile.PL options:
>>>>>>  MP_APR_LIB     => aprext
>>>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>>>  MP_COMPAT_1X   => 1
>>>>>>  MP_GENERATE_XS => 1
>>>>>>  MP_LIBNAME     => mod_perl
>>>>>>  MP_USE_DSO     => 1
>>>>>>
>>>>>>
>>>>>> *** /usr/local/apache2/bin/httpd -V
>>>>>> Server version: Apache/2.2.13 (Unix)
>>>>>> Server built:   Aug 29 2009 16:57:40
>>>>>> Server's Module Magic Number: 20051115:23
>>>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>>>> Architecture:   32-bit
>>>>>> Server MPM:     Prefork
>>>>>>  threaded:     no
>>>>>>  forked:     yes (variable process count)
>>>>>> Server compiled with....
>>>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>>>  -D APR_HAS_SENDFILE
>>>>>>  -D APR_HAS_MMAP
>>>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>>>  -D APR_HAS_OTHER_CHILD
>>>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>>>
>>>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>>>> /usr/local/apache2/bin/httpd:
>>>>>>      libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>>>      libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>>>      libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>>>      libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
>>>>>> (0x2825c000)
>>>>>>      libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>>>>>      libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3
>>>>>> (0x2829d000)
>>>>>>      libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>>>      libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>>>      libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>>>
>>>>>>
>>>>>> *** (apr|apu)-config linking info
>>>>>>
>>>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>>>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>>>
>>>>>>
>>>>>>
>>>>>> *** /usr/local/bin/perl -V
>>>>>> Summary of my perl5 (revision 5 version 10 subversion 1)
>>>>>> configuration:
>>>>>>
>>>>>>  Platform:
>>>>>>  osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>>>  uname='freebsd animalhead.com 6.3-release freebsd 6.3-release #3: fri
>>>>>> jan
>>>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>>>>>  config_args='-Dd_dosuid
>>>>>>
>>>>>>
>>>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>>>  hint=recommended, useposix=true, d_sigaction=define
>>>>>>  useithreads=undef, usemultiplicity=undef
>>>>>>  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
>>>>>>  use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>>>  usemymalloc=n, bincompat5005=undef
>>>>>>  Compiler:
>>>>>>  cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>>>  optimize='-O',
>>>>>>  cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing
>>>>>> -pipe -I/usr/local/include'
>>>>>>  ccversion='', gccversion='3.4.6 [FreeBSD] 20060305', gccosandvers=''
>>>>>>  intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>>>>>>  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>>>>>>  ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>>>>>> lseeksize=8
>>>>>>  alignbytes=4, prototype=define
>>>>>>  Linker and Libraries:
>>>>>>  ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>>>  libpth=/usr/lib /usr/local/lib
>>>>>>  libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>>>  perllibs=-lm -lcrypt -lutil -lc
>>>>>>  libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>>>  gnulibc_version=''
>>>>>>  Dynamic Linking:
>>>>>>  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>>>>>  cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>>>>>>
>>>>>>
>>>>>> Characteristics of this binary (from libperl):
>>>>>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>>>>                      USE_LARGE_FILES USE_PERLIO
>>>>>>  Built under freebsd
>>>>>>  Compiled at Aug 29 2009 20:24:18
>>>>>>  %ENV:
>>>>>>  PERL_LWP_USE_HTTP_10="1"
>>>>>>  @INC:
>>>>>>  /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>>>  /usr/local/lib/perl5/5.10.1
>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>>>  /usr/local/lib/perl5/site_perl/5.10.1
>>>>>>  /usr/local/lib/perl5/site_perl/5.8.9
>>>>>>  /usr/local/lib/perl5/site_perl/5.8.8
>>>>>>  /usr/local/lib/perl5/site_perl/5.8.7
>>>>>>  /usr/local/lib/perl5/site_perl
>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>>>  /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>>>  /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>>>  /usr/local/lib/perl5/vendor_perl
>>>>>>  /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>>>  /usr/local/lib/perl5/5.8.9
>>>>>>  /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>>>  /usr/local/lib/perl5/5.8.8
>>>>>>  /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>>>  /usr/local/lib/perl5/5.8.7
>>>>>>  .
>>>>>>
>>>>>> *** Packages of interest status:
>>>>>>
>>>>>> Apache2            : -
>>>>>> Apache2::Request   : -
>>>>>> CGI                : 3.45
>>>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>>>> LWP                : 5.831
>>>>>> mod_perl           : -
>>>>>> mod_perl2          : -
>>>>>>
>>>>>>
>>>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>>>
>>>>>>  [CORE TRACE COMES HERE]
>>>>>>
>>>>>> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009 GMT.
>>>>>>
>>>>>> -------------8<---------- End Bug Report --------------8<----------
>>>>>>
>>>>>>
>>>>
>>>
>>>
>
>

Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by Fred Moyer <fr...@redhotpenguin.com>.
On Tue, Sep 1, 2009 at 9:27 AM, <cr...@animalhead.com> wrote:
> A bit more data on the problem reported below:
>
> /build/modperl-2.0 $ grep -r Perl_pad_sv *
> Binary file src/modules/perl/mod_perl.so matches
> /build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
> -rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22 src/modules/perl/mod_perl.so
> /build/modperl-2.0 $ cd /usr/local/bin
>
> /usr/local/bin $ ll perl5*
> lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 -> perl5.10.1
> -rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
> -rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
> -rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
> -rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
> /usr/local/bin $ grep -r Perl_pad_sv perl*
> Binary file perl5.8.7 matches
> Binary file perl5.8.8 matches
> Binary file perl5.8.9 matches
> /usr/local/bin $
>
> So the symbol in the error message is wanted by the newly-built
> mod_perl, but perl 5.10.1 does not include it.
>
> Yes that's exactly what the error message says, but the mailing
> list is so quiet that I wonder if my filters have started eating
> its emails...

Perl_pad_sv is in there.  How did you install 5.10.1?

phred@harpua ~/perl-5.10.1 $ ack Perl_pad_sv
embed.h
638:#define pad_sv                      Perl_pad_sv
2958:#define pad_sv(a)          Perl_pad_sv(aTHX_ a)

makedef.pl
627:                Perl_pad_sv

pad.c
927:Perl_pad_sv(pTHX_ PADOFFSET po)

proto.h
2386:PERL_CALLCONV SV*  Perl_pad_sv(pTHX_ PADOFFSET po);


>
> cmac
>
>> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>>
>>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>>>>
>>>> -------------8<---------- Start Bug Report ------------8<----------
>>>> 1. Problem Description:
>>>>
>>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be
>>>> working
>>>> OK,
>>>> although Apache with using my old mod_perl 2.04 that uses perl 5.8.9.
>>>
>>> Have you rebuilt your mod_perl 2.0.4 instance from scratch using
>>> 5.10.1?  Undefined symbol warnings like this usually mean you are
>>> trying to use a version of mod_perl that has been built with another
>>> perl binary.
>>>
>>> Suggest running make clean, then:
>>>
>>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>>> make
>>> make test
>>
>> Yes, that is pretty much exactly what I've done.  Here is the command file
>> (that precedes make):
>>
>> #! /bin/sh
>> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
>> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
>> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>>
>>>>
>>>> make test in both the release mod_perl 2.0.4 and the latest snapshot
>>>> 2.0.5
>>>> gives the same error:
>>>>
>>>> $ make test
>>>> cd "src/modules/perl" && make
>>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
>>>> APACHE_TEST_USER=
>>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST
>>>> -bugreport
>>>> -verbose=0
>>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>>> using Apache/2.2.13 (prefork MPM)
>>>>
>>>> waiting 120 seconds for server to start: .httpd: Syntax error on line 17
>>>> of
>>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
>>>> "Perl_pad_sv"
>>>>
>>>>
>>>> 2. Used Components and their Configuration:
>>>>
>>>> *** mod_perl version 2.000005
>>>>
>>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>>
>>>> *** Makefile.PL options:
>>>>  MP_APR_LIB     => aprext
>>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>>  MP_COMPAT_1X   => 1
>>>>  MP_GENERATE_XS => 1
>>>>  MP_LIBNAME     => mod_perl
>>>>  MP_USE_DSO     => 1
>>>>
>>>>
>>>> *** /usr/local/apache2/bin/httpd -V
>>>> Server version: Apache/2.2.13 (Unix)
>>>> Server built:   Aug 29 2009 16:57:40
>>>> Server's Module Magic Number: 20051115:23
>>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>>> Architecture:   32-bit
>>>> Server MPM:     Prefork
>>>>  threaded:     no
>>>>   forked:     yes (variable process count)
>>>> Server compiled with....
>>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>>  -D APR_HAS_SENDFILE
>>>>  -D APR_HAS_MMAP
>>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>>  -D APR_USE_FLOCK_SERIALIZE
>>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>>  -D APR_HAS_OTHER_CHILD
>>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>>
>>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>>> /usr/local/apache2/bin/httpd:
>>>>       libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>>       libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>>       libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>>       libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
>>>> (0x2825c000)
>>>>       libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>>>       libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3 (0x2829d000)
>>>>       libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>>       libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>>       libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>>
>>>>
>>>> *** (apr|apu)-config linking info
>>>>
>>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>>
>>>>
>>>>
>>>> *** /usr/local/bin/perl -V
>>>> Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
>>>>
>>>>  Platform:
>>>>   osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>>   uname='freebsd animalhead.com 6.3-release freebsd 6.3-release #3: fri
>>>> jan
>>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>>>   config_args='-Dd_dosuid
>>>>
>>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>>   hint=recommended, useposix=true, d_sigaction=define
>>>>   useithreads=undef, usemultiplicity=undef
>>>>   useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
>>>>   use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>>   usemymalloc=n, bincompat5005=undef
>>>>  Compiler:
>>>>   cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>>   optimize='-O',
>>>>   cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing
>>>> -pipe -I/usr/local/include'
>>>>   ccversion='', gccversion='3.4.6 [FreeBSD] 20060305', gccosandvers=''
>>>>   intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>>>>   d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>>>>   ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>>>> lseeksize=8
>>>>   alignbytes=4, prototype=define
>>>>  Linker and Libraries:
>>>>   ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>>   libpth=/usr/lib /usr/local/lib
>>>>   libs=-lgdbm -lm -lcrypt -lutil -lc
>>>>   perllibs=-lm -lcrypt -lutil -lc
>>>>   libc=, so=so, useshrplib=false, libperl=libperl.a
>>>>   gnulibc_version=''
>>>>  Dynamic Linking:
>>>>   dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>>>   cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>>>>
>>>>
>>>> Characteristics of this binary (from libperl):
>>>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>>                       USE_LARGE_FILES USE_PERLIO
>>>>  Built under freebsd
>>>>  Compiled at Aug 29 2009 20:24:18
>>>>  %ENV:
>>>>   PERL_LWP_USE_HTTP_10="1"
>>>>  @INC:
>>>>   /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>>   /usr/local/lib/perl5/5.10.1
>>>>   /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>>   /usr/local/lib/perl5/site_perl/5.10.1
>>>>   /usr/local/lib/perl5/site_perl/5.8.9
>>>>   /usr/local/lib/perl5/site_perl/5.8.8
>>>>   /usr/local/lib/perl5/site_perl/5.8.7
>>>>   /usr/local/lib/perl5/site_perl
>>>>   /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>>   /usr/local/lib/perl5/vendor_perl/5.10.1
>>>>   /usr/local/lib/perl5/vendor_perl/5.8.7
>>>>   /usr/local/lib/perl5/vendor_perl
>>>>   /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>>   /usr/local/lib/perl5/5.8.9
>>>>   /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>>   /usr/local/lib/perl5/5.8.8
>>>>   /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>>   /usr/local/lib/perl5/5.8.7
>>>>   .
>>>>
>>>> *** Packages of interest status:
>>>>
>>>> Apache2            : -
>>>> Apache2::Request   : -
>>>> CGI                : 3.45
>>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>>> LWP                : 5.831
>>>> mod_perl           : -
>>>> mod_perl2          : -
>>>>
>>>>
>>>> 3. This is the core dump trace: (if you get a core dump):
>>>>
>>>>  [CORE TRACE COMES HERE]
>>>>
>>>> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009 GMT.
>>>>
>>>> -------------8<---------- End Bug Report --------------8<----------
>>>>
>>>>
>>
>
>

Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by cr...@animalhead.com.
A bit more data on the problem reported below:

/build/modperl-2.0 $ grep -r Perl_pad_sv *
Binary file src/modules/perl/mod_perl.so matches
/build/modperl-2.0 $ ll src/modules/perl/mod_perl.so
-rwxr-xr-x  1 user  wheel  1559168 Aug 29 21:22 src/modules/perl/ 
mod_perl.so
/build/modperl-2.0 $ cd /usr/local/bin

/usr/local/bin $ ll perl5*
lrwxr-xr-x  1 root  wheel       10 Aug 29 16:04 perl5 -> perl5.10.1
-rwxr-xr-x  3 root  wheel  1078522 Aug 30 00:52 perl5.10.1
-rwxr-xr-x  2 root  wheel   949166 Nov 14  2005 perl5.8.7
-rwxr-xr-x  1 root  wheel  2050866 Nov 18  2008 perl5.8.8
-rwxr-xr-x  1 root  wheel   951373 Jan  7  2009 perl5.8.9
/usr/local/bin $ grep -r Perl_pad_sv perl*
Binary file perl5.8.7 matches
Binary file perl5.8.8 matches
Binary file perl5.8.9 matches
/usr/local/bin $

So the symbol in the error message is wanted by the newly-built
mod_perl, but perl 5.10.1 does not include it.

Yes that's exactly what the error message says, but the mailing
list is so quiet that I wonder if my filters have started eating
its emails...

cmac

> On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:
>
>> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>>> -------------8<---------- Start Bug Report ------------8<----------
>>> 1. Problem Description:
>>>
>>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to  
>>> be working
>>> OK,
>>> although Apache with using my old mod_perl 2.04 that uses perl  
>>> 5.8.9.
>>
>> Have you rebuilt your mod_perl 2.0.4 instance from scratch using
>> 5.10.1?  Undefined symbol warnings like this usually mean you are
>> trying to use a version of mod_perl that has been built with another
>> perl binary.
>>
>> Suggest running make clean, then:
>>
>> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
>> make
>> make test
>
> Yes, that is pretty much exactly what I've done.  Here is the  
> command file
> (that precedes make):
>
> #! /bin/sh
> CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
> LDFLAGS="-L/usr/local/lib"; export LDFLAGS
> perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
>
>>>
>>> make test in both the release mod_perl 2.0.4 and the latest  
>>> snapshot 2.0.5
>>> gives the same error:
>>>
>>> $ make test
>>> cd "src/modules/perl" && make
>>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=  
>>> APACHE_TEST_USER=
>>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST - 
>>> bugreport
>>> -verbose=0
>>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>>> using Apache/2.2.13 (prefork MPM)
>>>
>>> waiting 120 seconds for server to start: .httpd: Syntax error on  
>>> line 17 of
>>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
>>> "Perl_pad_sv"
>>>
>>>
>>> 2. Used Components and their Configuration:
>>>
>>> *** mod_perl version 2.000005
>>>
>>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>>
>>> *** Makefile.PL options:
>>>  MP_APR_LIB     => aprext
>>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>>  MP_COMPAT_1X   => 1
>>>  MP_GENERATE_XS => 1
>>>  MP_LIBNAME     => mod_perl
>>>  MP_USE_DSO     => 1
>>>
>>>
>>> *** /usr/local/apache2/bin/httpd -V
>>> Server version: Apache/2.2.13 (Unix)
>>> Server built:   Aug 29 2009 16:57:40
>>> Server's Module Magic Number: 20051115:23
>>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>>> Architecture:   32-bit
>>> Server MPM:     Prefork
>>>  threaded:     no
>>>    forked:     yes (variable process count)
>>> Server compiled with....
>>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>>  -D APR_HAS_SENDFILE
>>>  -D APR_HAS_MMAP
>>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>>  -D APR_USE_FLOCK_SERIALIZE
>>>  -D APR_USE_PTHREAD_SERIALIZE
>>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>>  -D APR_HAS_OTHER_CHILD
>>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>>  -D DYNAMIC_MODULE_LIMIT=128
>>>  -D HTTPD_ROOT="/usr/local/apache2"
>>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>>
>>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>>> /usr/local/apache2/bin/httpd:
>>>        libz.so.3 => /lib/libz.so.3 (0x28209000)
>>>        libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>>        libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>>        libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
>>> (0x2825c000)
>>>        libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>>        libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3  
>>> (0x2829d000)
>>>        libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>>        libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>>        libc.so.6 => /lib/libc.so.6 (0x28301000)
>>>
>>>
>>> *** (apr|apu)-config linking info
>>>
>>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>>
>>>
>>>
>>> *** /usr/local/bin/perl -V
>>> Summary of my perl5 (revision 5 version 10 subversion 1)  
>>> configuration:
>>>
>>>  Platform:
>>>    osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>>    uname='freebsd animalhead.com 6.3-release freebsd 6.3-release  
>>> #3: fri jan
>>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>>    config_args='-Dd_dosuid
>>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/ 
>>> perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>>    hint=recommended, useposix=true, d_sigaction=define
>>>    useithreads=undef, usemultiplicity=undef
>>>    useperlio=define, d_sfio=undef, uselargefiles=define,  
>>> usesocks=undef
>>>    use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>>    usemymalloc=n, bincompat5005=undef
>>>  Compiler:
>>>    cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>>    optimize='-O',
>>>    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict- 
>>> aliasing
>>> -pipe -I/usr/local/include'
>>>    ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',  
>>> gccosandvers=''
>>>    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>>>    d_longlong=define, longlongsize=8, d_longdbl=define,  
>>> longdblsize=12
>>>    ivtype='long', ivsize=4, nvtype='double', nvsize=8,  
>>> Off_t='off_t',
>>> lseeksize=8
>>>    alignbytes=4, prototype=define
>>>  Linker and Libraries:
>>>    ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>>    libpth=/usr/lib /usr/local/lib
>>>    libs=-lgdbm -lm -lcrypt -lutil -lc
>>>    perllibs=-lm -lcrypt -lutil -lc
>>>    libc=, so=so, useshrplib=false, libperl=libperl.a
>>>    gnulibc_version=''
>>>  Dynamic Linking:
>>>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>>    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>>>
>>>
>>> Characteristics of this binary (from libperl):
>>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>>                        USE_LARGE_FILES USE_PERLIO
>>>  Built under freebsd
>>>  Compiled at Aug 29 2009 20:24:18
>>>  %ENV:
>>>    PERL_LWP_USE_HTTP_10="1"
>>>  @INC:
>>>    /usr/local/lib/perl5/5.10.1/i386-freebsd
>>>    /usr/local/lib/perl5/5.10.1
>>>    /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>>    /usr/local/lib/perl5/site_perl/5.10.1
>>>    /usr/local/lib/perl5/site_perl/5.8.9
>>>    /usr/local/lib/perl5/site_perl/5.8.8
>>>    /usr/local/lib/perl5/site_perl/5.8.7
>>>    /usr/local/lib/perl5/site_perl
>>>    /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>>    /usr/local/lib/perl5/vendor_perl/5.10.1
>>>    /usr/local/lib/perl5/vendor_perl/5.8.7
>>>    /usr/local/lib/perl5/vendor_perl
>>>    /usr/local/lib/perl5/5.8.9/i386-freebsd
>>>    /usr/local/lib/perl5/5.8.9
>>>    /usr/local/lib/perl5/5.8.8/i386-freebsd
>>>    /usr/local/lib/perl5/5.8.8
>>>    /usr/local/lib/perl5/5.8.7/i386-freebsd
>>>    /usr/local/lib/perl5/5.8.7
>>>    .
>>>
>>> *** Packages of interest status:
>>>
>>> Apache2            : -
>>> Apache2::Request   : -
>>> CGI                : 3.45
>>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>>> LWP                : 5.831
>>> mod_perl           : -
>>> mod_perl2          : -
>>>
>>>
>>> 3. This is the core dump trace: (if you get a core dump):
>>>
>>>  [CORE TRACE COMES HERE]
>>>
>>> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009  
>>> GMT.
>>>
>>> -------------8<---------- End Bug Report --------------8<----------
>>>
>>>
>


Re: Undefined symbol "Perl_pad_sv" building mp2

Posted by cr...@animalhead.com.
On Aug 30, 2009, at 11:49 AM, Fred Moyer wrote:

> On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
>> -------------8<---------- Start Bug Report ------------8<----------
>> 1. Problem Description:
>>
>> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be  
>> working
>> OK,
>> although Apache with using my old mod_perl 2.04 that uses perl 5.8.9.
>
> Have you rebuilt your mod_perl 2.0.4 instance from scratch using
> 5.10.1?  Undefined symbol warnings like this usually mean you are
> trying to use a version of mod_perl that has been built with another
> perl binary.
>
> Suggest running make clean, then:
>
> perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
> make
> make test

Yes, that is pretty much exactly what I've done.  Here is the command  
file
(that precedes make):

#! /bin/sh
CFLAGS="-DVERIO -DVERIO_VPS"; export CFLAGS
LDFLAGS="-L/usr/local/lib"; export LDFLAGS
perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs

>>
>> make test in both the release mod_perl 2.0.4 and the latest  
>> snapshot 2.0.5
>> gives the same error:
>>
>> $ make test
>> cd "src/modules/perl" && make
>> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
>> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=  
>> APACHE_TEST_USER=
>> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST - 
>> bugreport
>> -verbose=0
>> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
>> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
>> using Apache/2.2.13 (prefork MPM)
>>
>> waiting 120 seconds for server to start: .httpd: Syntax error on  
>> line 17 of
>> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
>> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
>> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
>> "Perl_pad_sv"
>>
>>
>> 2. Used Components and their Configuration:
>>
>> *** mod_perl version 2.000005
>>
>> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>>
>> *** Makefile.PL options:
>>  MP_APR_LIB     => aprext
>>  MP_APXS        => /usr/local/apache2/bin/apxs
>>  MP_COMPAT_1X   => 1
>>  MP_GENERATE_XS => 1
>>  MP_LIBNAME     => mod_perl
>>  MP_USE_DSO     => 1
>>
>>
>> *** /usr/local/apache2/bin/httpd -V
>> Server version: Apache/2.2.13 (Unix)
>> Server built:   Aug 29 2009 16:57:40
>> Server's Module Magic Number: 20051115:23
>> Server loaded:  APR 1.3.8, APR-Util 1.3.9
>> Compiled using: APR 1.3.8, APR-Util 1.3.9
>> Architecture:   32-bit
>> Server MPM:     Prefork
>>  threaded:     no
>>    forked:     yes (variable process count)
>> Server compiled with....
>>  -D APACHE_MPM_DIR="server/mpm/prefork"
>>  -D APR_HAS_SENDFILE
>>  -D APR_HAS_MMAP
>>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>>  -D APR_USE_FLOCK_SERIALIZE
>>  -D APR_USE_PTHREAD_SERIALIZE
>>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>>  -D APR_HAS_OTHER_CHILD
>>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>>  -D DYNAMIC_MODULE_LIMIT=128
>>  -D HTTPD_ROOT="/usr/local/apache2"
>>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>>  -D DEFAULT_ERRORLOG="logs/error_log"
>>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>>
>> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
>> /usr/local/apache2/bin/httpd:
>>        libz.so.3 => /lib/libz.so.3 (0x28209000)
>>        libm.so.4 => /lib/libm.so.4 (0x2821a000)
>>        libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>>        libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
>> (0x2825c000)
>>        libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>>        libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3  
>> (0x2829d000)
>>        libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>>        libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>>        libc.so.6 => /lib/libc.so.6 (0x28301000)
>>
>>
>> *** (apr|apu)-config linking info
>>
>>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>>
>>
>>
>> *** /usr/local/bin/perl -V
>> Summary of my perl5 (revision 5 version 10 subversion 1)  
>> configuration:
>>
>>  Platform:
>>    osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>>    uname='freebsd animalhead.com 6.3-release freebsd 6.3-release  
>> #3: fri jan
>> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>>    config_args='-Dd_dosuid
>> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/ 
>> perl5/5.8.8:/usr/local/lib/perl5/5.8.7
>> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>>    hint=recommended, useposix=true, d_sigaction=define
>>    useithreads=undef, usemultiplicity=undef
>>    useperlio=define, d_sfio=undef, uselargefiles=define,  
>> usesocks=undef
>>    use64bitint=undef, use64bitall=undef, uselongdouble=undef
>>    usemymalloc=n, bincompat5005=undef
>>  Compiler:
>>    cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
>> -fno-strict-aliasing -pipe -I/usr/local/include',
>>    optimize='-O',
>>    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict- 
>> aliasing
>> -pipe -I/usr/local/include'
>>    ccversion='', gccversion='3.4.6 [FreeBSD] 20060305',  
>> gccosandvers=''
>>    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>>    d_longlong=define, longlongsize=8, d_longdbl=define,  
>> longdblsize=12
>>    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>> lseeksize=8
>>    alignbytes=4, prototype=define
>>  Linker and Libraries:
>>    ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>>    libpth=/usr/lib /usr/local/lib
>>    libs=-lgdbm -lm -lcrypt -lutil -lc
>>    perllibs=-lm -lcrypt -lutil -lc
>>    libc=, so=so, useshrplib=false, libperl=libperl.a
>>    gnulibc_version=''
>>  Dynamic Linking:
>>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>>    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>>
>>
>> Characteristics of this binary (from libperl):
>>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>>                        USE_LARGE_FILES USE_PERLIO
>>  Built under freebsd
>>  Compiled at Aug 29 2009 20:24:18
>>  %ENV:
>>    PERL_LWP_USE_HTTP_10="1"
>>  @INC:
>>    /usr/local/lib/perl5/5.10.1/i386-freebsd
>>    /usr/local/lib/perl5/5.10.1
>>    /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>>    /usr/local/lib/perl5/site_perl/5.10.1
>>    /usr/local/lib/perl5/site_perl/5.8.9
>>    /usr/local/lib/perl5/site_perl/5.8.8
>>    /usr/local/lib/perl5/site_perl/5.8.7
>>    /usr/local/lib/perl5/site_perl
>>    /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>>    /usr/local/lib/perl5/vendor_perl/5.10.1
>>    /usr/local/lib/perl5/vendor_perl/5.8.7
>>    /usr/local/lib/perl5/vendor_perl
>>    /usr/local/lib/perl5/5.8.9/i386-freebsd
>>    /usr/local/lib/perl5/5.8.9
>>    /usr/local/lib/perl5/5.8.8/i386-freebsd
>>    /usr/local/lib/perl5/5.8.8
>>    /usr/local/lib/perl5/5.8.7/i386-freebsd
>>    /usr/local/lib/perl5/5.8.7
>>    .
>>
>> *** Packages of interest status:
>>
>> Apache2            : -
>> Apache2::Request   : -
>> CGI                : 3.45
>> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
>> LWP                : 5.831
>> mod_perl           : -
>> mod_perl2          : -
>>
>>
>> 3. This is the core dump trace: (if you get a core dump):
>>
>>  [CORE TRACE COMES HERE]
>>
>> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009  
>> GMT.
>>
>> -------------8<---------- End Bug Report --------------8<----------
>>
>>


Re: Undefined symbol "Perl_pad_sv building mp2

Posted by Fred Moyer <fr...@redhotpenguin.com>.
On Sat, Aug 29, 2009 at 9:43 PM, <cr...@animalhead.com> wrote:
> -------------8<---------- Start Bug Report ------------8<----------
> 1. Problem Description:
>
> I have upgraded to Apache 2.2.13 and Perl 5.10.1.  Both seem to be working
> OK,
> although Apache with using my old mod_perl 2.04 that uses perl 5.8.9.

Have you rebuilt your mod_perl 2.0.4 instance from scratch using
5.10.1?  Undefined symbol warnings like this usually mean you are
trying to use a version of mod_perl that has been built with another
perl binary.

Suggest running make clean, then:

perl Makefile.PL MP_APXS=/path/to/my/httpd/apxs
make
make test

>
> make test in both the release mod_perl 2.0.4 and the latest snapshot 2.0.5
> gives the same error:
>
> $ make test
> cd "src/modules/perl" && make
> /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -clean
> APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER=
> APACHE_TEST_APXS=  /usr/bin/perl -Iblib/arch -Iblib/lib  t/TEST -bugreport
> -verbose=0
> /usr/local/apache2/bin/httpd  -d /build/modperl-2.0/t -f
> /build/modperl-2.0/t/conf/httpd.conf -D APACHE2
> using Apache/2.2.13 (prefork MPM)
>
> waiting 120 seconds for server to start: .httpd: Syntax error on line 17 of
> /build/modperl-2.0/t/conf/httpd.conf: Cannot load
> /build/modperl-2.0/src/modules/perl/mod_perl.so into server:
> /build/modperl-2.0/src/modules/perl/mod_perl.so: Undefined symbol
> "Perl_pad_sv"
>
>
> 2. Used Components and their Configuration:
>
> *** mod_perl version 2.000005
>
> *** using /build/modperl-2.0/lib/Apache2/BuildConfig.pm
>
> *** Makefile.PL options:
>  MP_APR_LIB     => aprext
>  MP_APXS        => /usr/local/apache2/bin/apxs
>  MP_COMPAT_1X   => 1
>  MP_GENERATE_XS => 1
>  MP_LIBNAME     => mod_perl
>  MP_USE_DSO     => 1
>
>
> *** /usr/local/apache2/bin/httpd -V
> Server version: Apache/2.2.13 (Unix)
> Server built:   Aug 29 2009 16:57:40
> Server's Module Magic Number: 20051115:23
> Server loaded:  APR 1.3.8, APR-Util 1.3.9
> Compiled using: APR 1.3.8, APR-Util 1.3.9
> Architecture:   32-bit
> Server MPM:     Prefork
>  threaded:     no
>    forked:     yes (variable process count)
> Server compiled with....
>  -D APACHE_MPM_DIR="server/mpm/prefork"
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
>  -D APR_USE_FLOCK_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D DYNAMIC_MODULE_LIMIT=128
>  -D HTTPD_ROOT="/usr/local/apache2"
>  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>
> *** /usr/bin/ldd /usr/local/apache2/bin/httpd
> /usr/local/apache2/bin/httpd:
>        libz.so.3 => /lib/libz.so.3 (0x28209000)
>        libm.so.4 => /lib/libm.so.4 (0x2821a000)
>        libpcre.so.0 => /usr/local/lib/libpcre.so.0 (0x28230000)
>        libaprutil-1.so.3 => /usr/local/apache2/lib/libaprutil-1.so.3
> (0x2825c000)
>        libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x2827c000)
>        libapr-1.so.3 => /usr/local/apache2/lib/libapr-1.so.3 (0x2829d000)
>        libcrypt.so.3 => /lib/libcrypt.so.3 (0x282c5000)
>        libpthread.so.2 => /lib/libpthread.so.2 (0x282dd000)
>        libc.so.6 => /lib/libc.so.6 (0x28301000)
>
>
> *** (apr|apu)-config linking info
>
>  -L/usr/local/apache2/lib -laprutil-1     -lexpat -L/usr/local/lib
>  -L/usr/local/apache2/lib -lapr-1 -lcrypt  -lpthread
>
>
>
> *** /usr/local/bin/perl -V
> Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
>
>  Platform:
>    osname=freebsd, osvers=6.3-release, archname=i386-freebsd
>    uname='freebsd animalhead.com 6.3-release freebsd 6.3-release #3: fri jan
> 23 16:43:41 mst 2009 root@fc:usrsrcsysi386compilevkern i386 '
>    config_args='-Dd_dosuid
> -Dotherlibdirs=/usr/local/lib/perl5/5.8.9:/usr/local/lib/perl5/5.8.8:/usr/local/lib/perl5/5.8.7
> -Dvendorprefix=/usr/local -Dmydomain=animalhead.com'
>    hint=recommended, useposix=true, d_sigaction=define
>    useithreads=undef, usemultiplicity=undef
>    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
>    use64bitint=undef, use64bitall=undef, uselongdouble=undef
>    usemymalloc=n, bincompat5005=undef
>  Compiler:
>    cc='cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
> -fno-strict-aliasing -pipe -I/usr/local/include',
>    optimize='-O',
>    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing
> -pipe -I/usr/local/include'
>    ccversion='', gccversion='3.4.6 [FreeBSD] 20060305', gccosandvers=''
>    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
>    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>    alignbytes=4, prototype=define
>  Linker and Libraries:
>    ld='cc', ldflags ='-Wl,-E  -L/usr/local/lib'
>    libpth=/usr/lib /usr/local/lib
>    libs=-lgdbm -lm -lcrypt -lutil -lc
>    perllibs=-lm -lcrypt -lutil -lc
>    libc=, so=so, useshrplib=false, libperl=libperl.a
>    gnulibc_version=''
>  Dynamic Linking:
>    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
>    cccdlflags='-DPIC -fPIC', lddlflags='-shared  -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
>  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP
>                        USE_LARGE_FILES USE_PERLIO
>  Built under freebsd
>  Compiled at Aug 29 2009 20:24:18
>  %ENV:
>    PERL_LWP_USE_HTTP_10="1"
>  @INC:
>    /usr/local/lib/perl5/5.10.1/i386-freebsd
>    /usr/local/lib/perl5/5.10.1
>    /usr/local/lib/perl5/site_perl/5.10.1/i386-freebsd
>    /usr/local/lib/perl5/site_perl/5.10.1
>    /usr/local/lib/perl5/site_perl/5.8.9
>    /usr/local/lib/perl5/site_perl/5.8.8
>    /usr/local/lib/perl5/site_perl/5.8.7
>    /usr/local/lib/perl5/site_perl
>    /usr/local/lib/perl5/vendor_perl/5.10.1/i386-freebsd
>    /usr/local/lib/perl5/vendor_perl/5.10.1
>    /usr/local/lib/perl5/vendor_perl/5.8.7
>    /usr/local/lib/perl5/vendor_perl
>    /usr/local/lib/perl5/5.8.9/i386-freebsd
>    /usr/local/lib/perl5/5.8.9
>    /usr/local/lib/perl5/5.8.8/i386-freebsd
>    /usr/local/lib/perl5/5.8.8
>    /usr/local/lib/perl5/5.8.7/i386-freebsd
>    /usr/local/lib/perl5/5.8.7
>    .
>
> *** Packages of interest status:
>
> Apache2            : -
> Apache2::Request   : -
> CGI                : 3.45
> ExtUtils::MakeMaker: 6.48, 6.54, 6.55_02
> LWP                : 5.831
> mod_perl           : -
> mod_perl2          : -
>
>
> 3. This is the core dump trace: (if you get a core dump):
>
>  [CORE TRACE COMES HERE]
>
> This report was generated by t/REPORT on Sun Aug 30 04:28:22 2009 GMT.
>
> -------------8<---------- End Bug Report --------------8<----------
>
>