Re: Undefined symbol Perl_pad_sv building mp2

2009-09-01 Thread craig

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.05

*** 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 (0x2823)
   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, 

changing apache process name?

2009-09-01 Thread mcvella

Hello-

I am wondering if anyone knows if there is a way to configure what it shown
as the running apache process name.  I am not sure if this is technically a
mod_perl question.  The problem is that the process name is partially
truncated, so we are unable to determine exactly what perl app is running
for a given apache process.

For example, here is one running apache process as seen in top:

31122 www   16   0 76624  61m 6428 S6  0.4   0:04.03
/opt/myapp/www/cgi-perl/sig -f /opt/c2/preview/tmp/httpd.conf 

there is more to the perl app name than 'sig', (for example, it could be
signal.pl or signoff.pl) but it is truncated.

Is there any way to configure apache to show more characters in its process
names?
-- 
View this message in context: 
http://www.nabble.com/changing-apache-process-name--tp25244057p25244057.html
Sent from the mod_perl - General mailing list archive at Nabble.com.



Re: Undefined symbol Perl_pad_sv building mp2

2009-09-01 Thread Fred Moyer
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?

ph...@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.05

 *** 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 (0x2823)
       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 = 

Re: changing apache process name?

2009-09-01 Thread Torsten Foertsch
On Tue 01 Sep 2009, mcvella wrote:
 I am wondering if anyone knows if there is a way to configure what it
 shown as the running apache process name.  I am not sure if this is
 technically a mod_perl question.  The problem is that the process
 name is partially truncated, so we are unable to determine exactly
 what perl app is running for a given apache process.

 For example, here is one running apache process as seen in top:

 31122 www       16   0 76624  61m 6428 S    6  0.4   0:04.03
 /opt/myapp/www/cgi-perl/sig -f /opt/c2/preview/tmp/httpd.conf

 there is more to the perl app name than 'sig', (for example, it could
 be signal.pl or signoff.pl) but it is truncated.

 Is there any way to configure apache to show more characters in its
 process names?

It depends upon your operating system.

FreeBSD has a library function called setproctitle to do that as far as 
I know.

On Linux it can be achieved like this. The original argv and envp are 
laid out subsequently by the kernel. Normally a program accesses its 
argv only at startup and the original environment is copied and not 
used later on. But the argv pointer is where ps and top look for the 
command line. So there is a buffer of the size of all command line 
arguments plus all the environment that can be overwritten and thus 
used to show what you like in ps and top. The only problem is how to 
get the values of these pointers. This can be solved using a shared 
library. It may contain a function named _init() that is called when 
the lib is loaded. Fortunately it is passed argc, argv and envp as 
parameters. Now, you have all information to figure out the size of the 
argv and envp buffer and can overwrite it as you like.

This is what the libsetproctitle (http://lmgtfy.com/?q=libsetproctitle) 
library does.

I have once (at the time of perl 5.8.0) written a module Sys::Proctitle 
that uses (and bundles) this lib and also an Apache2::ShowStatus that 
uses Sys::Proctitle to show the current request in top. But since then 
I haven't touched these modules. So I don't know if they still work.

Torsten

-- 
Need professional mod_perl support?
Just hire me: torsten.foert...@gmx.net


Re: changing apache process name?

2009-09-01 Thread Sebastiaan Hoogeveen


On 1 sep 2009, at 19:43, mcvella wrote:

I am wondering if anyone knows if there is a way to configure what  
it shown
as the running apache process name.  I am not sure if this is  
technically a

mod_perl question.  The problem is that the process name is partially
truncated, so we are unable to determine exactly what perl app is  
running

for a given apache process.

For example, here is one running apache process as seen in top:

31122 www   16   0 76624  61m 6428 S6  0.4   0:04.03
/opt/myapp/www/cgi-perl/sig -f /opt/c2/preview/tmp/httpd.conf

there is more to the perl app name than 'sig', (for example, it  
could be

signal.pl or signoff.pl) but it is truncated.

Is there any way to configure apache to show more characters in its  
process

names?



Not sure if this would fix your problem, but you can just set $0 from  
within the mod_perl module to whatever you'd like to show up in the  
process list, just as with a regular perl script. It probably depends  
on the OS you're running whether this works as it should; I can  
confirm that it works on Linux.


You could probably use some wrapper code or write a handler to set $0  
to the name of the script or module that is executed.


Kind regards,

--
Sebastiaan Hoogeveen
s.hoogev...@nederhost.nl

NederHost is ingeschreven bij de Kamer van Koophandel onder dossier  
34099781.






Re: Undefined symbol Perl_pad_sv building mp2

2009-09-01 Thread Fred Moyer
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 'x...@animalhead.com' to 'macke...@...'

 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?

 ph...@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.05

 *** 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 

Re: Undefined symbol Perl_pad_sv building mp2

2009-09-01 Thread Fred Moyer
[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 'x...@animalhead.com' to 'macke...@...'

 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?

 ph...@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
 

Re: Undefined symbol Perl_pad_sv building mp2

2009-09-01 Thread craig

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 'x...@animalhead.com' to 'macke...@...'

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 

Re: Undefined symbol Perl_pad_sv building mp2

2009-09-01 Thread Fred Moyer
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