You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by olivier blanc <ol...@dgi.finances.gouv.fr> on 2004/04/29 17:38:16 UTC

mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

1. Problem Description:
                                                                                                                                              
 
While trying to load compiled DSO modperl in Apache, I got the following 
error :
                                                                                                                                              
 
Syntax error on line 223 of /opt/hpws/apache2/conf/httpd.conf:
Cannot load /opt/hpws/apache2/modules/mod_perl.so into server: Error 0
                                                                                                                                              
 
Perl and Apache have been compiled in 64 bits, modperl also.
Apache and Perl are not compiled in debug mode (at this time, there is 
no debug mode for 64 bits).
All is running on HPUX11i (uname -a => HP-UX w44h B.11.11 U 9000/800 
1753907651 unlimited-user license)
                                                                                                                                              
 
Does any one successfully compiled and run mod_perl in such situation ?
                                                                                                                                              
 
Thanks for any help
                                                                                                                                              
 
                                                                                                                                              
 
Olivier
                                                                                                                                              
 
2. Used Components and their Configuration:
                                                                                                                                               

*** mod_perl version 1.9914
 
*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_APXS        => /opt/hpws/apache2/bin/apxs
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_USE_DSO     => 1
  MP_USE_STATIC  => 1
 
 
*** /opt/hpws/apache2/bin/httpd -V
Server version: Apache/2.0.49
Server built:   Apr 28 2004 10:02:11
Server's Module Magic Number: 20020903:7
Architecture:   64-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT="/opt/hpws/apache2"
 -D SUEXEC_BIN="/opt/hpws/apache2/bin/suexec"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
 
 *** /opt/perl583/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
  Platform:
    osname=hpux, osvers=11.11, archname=PA-RISC2.0-thread-multi-LP64
    uname='hp-ux loire b.11.11 u 9000800 1756907651 unlimited-user license '
    config_args='-A prepend:libswanted=cl pthread  -Accflags=+Z 
-Dusethreads -Duse64bitall -Duse64bitint -Dprefix=/opt/perl583'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define 
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags =' -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae 
-D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 +Z -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
    optimize='+O2 +Onolimit',
    cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE 
-D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae -D_HPUX_SOURCE 
-Wl,+vnocompatwarnings +DD64 +Z -I/usr/local/include'
    ccversion='B.11.11.04', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/usr/bin/ld', ldflags =' +DD64 -L/usr/local/lib -L/lib/pa20_64'
    libpth=/usr/local/lib /lib/pa20_64 /lib /usr/lib /usr/ccs/lib
    libs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc
    perllibs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc
    libc=/lib/pa20_64/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E 
-Wl,-B,deferred '
    cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib 
-L/lib/pa20_64'
 
 
Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_64_BIT_INT 
USE_64_BIT_ALL USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Built under hpux
  Compiled at Apr 21 2004 17:52:15
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /opt/perl583/lib/5.8.3/PA-RISC2.0-thread-multi-LP64
    /opt/perl583/lib/5.8.3
    /opt/perl583/lib/site_perl/5.8.3/PA-RISC2.0-thread-multi-LP64
    /opt/perl583/lib/site_perl/5.8.3
    /opt/perl583/lib/site_perl
    .
 
*** Packages of interest status:
 
Apache::Request: -
CGI            : 3.05
LWP            : 5.79
mod_perl       : 1.9914
 
 
3. This is the core dump trace: (if you get a core dump):
 
  [CORE TRACE COMES HERE]
 
This report was generated by t/REPORT on Thu Apr 29 15:09:14 2004 GMT.



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


Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

Posted by Stas Bekman <st...@stason.org>.
olivier blanc wrote:
> 1. Problem Description:
>                                                                                                                                              
> 
> While trying to load compiled DSO modperl in Apache, I got the following 
> error :
>                                                                                                                                              
> 
> Syntax error on line 223 of /opt/hpws/apache2/conf/httpd.conf:
> Cannot load /opt/hpws/apache2/modules/mod_perl.so into server: Error 0
>                                                                                                                                              
> 
> Perl and Apache have been compiled in 64 bits, modperl also.
> Apache and Perl are not compiled in debug mode (at this time, there is 
> no debug mode for 64 bits).
> All is running on HPUX11i (uname -a => HP-UX w44h B.11.11 U 9000/800 
> 1753907651 unlimited-user license)
>                                                                                                                                              
> 
> Does any one successfully compiled and run mod_perl in such situation ?

We have several other platforms with the same problem. Do you have any other 
DSO modules that do load OK with Apache2? We afraid this has to do with DSO 
support on those platforms. So far nobody came out and volunteered to figure 
out what's wrong. So this issue is in flux.

Philippe is working on a static build to solve this problem, We haven't 
integrated it, since it may change somewhat but give a try to his patch and 
instructions posted here:

http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=108310633610736&w=2

Please let us know if this worked for you.
(obviously you want to remove the LoadModule instruction from your own server 
if you use the static build, but just passing the test suite would be great!)

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

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


Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

Posted by Stas Bekman <st...@stason.org>.
William A. Rowe, Jr. wrote:
> At 12:23 PM 4/30/2004, Stas Bekman wrote:
> 
>>Thanks Bill!
>>
>>Do other Apache modules work as DSO on those platforms?
> 
> 
> Since my builds are 32 bit, I can't tell you for certain, but I'd expect
> the httpd/apr folks would have heard by now of a problem.
> 
> Difference, is that most modules are not nearly as complex, nor require
> the startup constructor and destructor logic that mod_perl needs.

Right.

> Oh, silly observation - but if the whole thing is fluxored, I wonder if modperl,
> or perl is compiled against some additional 32-bit libs.

Olivier has posted his 'perl -V', it's hard to tell for sure, but take a look 
at the 'Compiler' section below:

*** /opt/perl583/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration:
  Platform:
    osname=hpux, osvers=11.11, archname=PA-RISC2.0-thread-multi-LP64
    uname='hp-ux loire b.11.11 u 9000800 1756907651 unlimited-user license '
    config_args='-A prepend:libswanted=cl pthread  -Accflags=+Z -Dusethreads 
-Duse64bitall -Duse64bitint -Dprefix=/opt/perl583'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define 
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags =' -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae 
-D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 +Z -I/usr/local/include 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ',
    optimize='+O2 +Onolimit',
    cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L 
-D_REENTRANT -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 +Z 
-I/usr/local/include'
    ccversion='B.11.11.04', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='/usr/bin/ld', ldflags =' +DD64 -L/usr/local/lib -L/lib/pa20_64'
    libpth=/usr/local/lib /lib/pa20_64 /lib /usr/lib /usr/ccs/lib
    libs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc
    perllibs=-lcl -lpthread -lnsl -lnm -ldl -ldld -lm -lsec -lc
    libc=/lib/pa20_64/libc.sl, so=sl, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E 
-Wl,-B,deferred '
    cccdlflags='+Z', lddlflags='-b +vnocompatwarnings -L/usr/local/lib 
-L/lib/pa20_64'


> HP is migrating folks away from shl_xxx api to the dl_xxx api, but they
> have done a lousy job on consistency in hpux-11/32 bit.  With their 11i
> 64 bit support they have been much more consistent, and practically
> scream for users to move to dl_xxx.  This is why I wanted Olivier to try
> backing out that patch that picks up shl_ over dl_.

Well, I hope Olivier will be able to do that testing.

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

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


Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
At 12:23 PM 4/30/2004, Stas Bekman wrote:
>Thanks Bill!
>
>Do other Apache modules work as DSO on those platforms?

Since my builds are 32 bit, I can't tell you for certain, but I'd expect
the httpd/apr folks would have heard by now of a problem.

Difference, is that most modules are not nearly as complex, nor require
the startup constructor and destructor logic that mod_perl needs.

Oh, silly observation - but if the whole thing is fluxored, I wonder if modperl,
or perl is compiled against some additional 32-bit libs.

HP is migrating folks away from shl_xxx api to the dl_xxx api, but they
have done a lousy job on consistency in hpux-11/32 bit.  With their 11i
64 bit support they have been much more consistent, and practically
scream for users to move to dl_xxx.  This is why I wanted Olivier to try
backing out that patch that picks up shl_ over dl_.

>We have DSO problems with OpenBSD 2.9, FreeBSD (not sure which version) and a few others, not sure if they are related at all. Most of the time there is no error at all, httpd just hangs.

Altogether unrelated, I expect.  The items I mentioned were unique to HP/UX.



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


Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

Posted by Stas Bekman <st...@stason.org>.
Thanks Bill!

Do other Apache modules work as DSO on those platforms?

We have DSO problems with OpenBSD 2.9, FreeBSD (not sure which version) and a 
few others, not sure if they are related at all. Most of the time there is no 
error at all, httpd just hangs.


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

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


Re: mp2 Apache2.0.49 on HPUX11i : mod_perl does not load in Apache

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
At 10:38 AM 4/29/2004, olivier blanc wrote:
>                           
>While trying to load compiled DSO modperl in Apache, I got the following error 

>Syntax error on line 223 of /opt/hpws/apache2/conf/httpd.conf:
>Cannot load /opt/hpws/apache2/modules/mod_perl.so into server: Error 0

Hmmm, while I don't have your answer, I have a hint.  Take a look 
back at rev 1.57 of

http://cvs.apache.org/viewcvs.cgi/apr/dso/unix/dso.c

http://cvs.apache.org/viewcvs.cgi/apr/dso/unix/dso.c?r1=1.56&r2=1.57

and back that bit out.  Passing 
BIND_VERBOSE to shl_load() 
will spew
ugly junk into your error log (you might even test w/ httpd -X -t which does
a pretty trivial attempt to just get the module to load.)

One fix for 32 bit builds that might need to be backed out to build successfully
for 64 bit builds is rev 1.490 of;

http://cvs.apache.org/viewcvs.cgi/apr/configure.in

http://cvs.apache.org/viewcvs.cgi/apr/configure.in?r1=1.489&r2=1.490

That patch addressed the fact that -ldl support in the hpux-11 family has
been incremental and spotty.  If you move a 32 bit build from one hpux-11
box to another, it now just works.  But revert that patch as I suggest, and
you discover the boxes vary quite a bit.

If the apr project expanded on that 1.490 fix, it would be best to build -ldld
flavor dso on a 32 bit build, -ldl (hpux-11i only) for 64 bit builds, if reverting
this patch helps you get modules loading.

Good luck,

Bill

Bill  


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