Oleg Burlaca wrote:
After struggling for two days, I've managed to install Apache2.2.9 + ModPerl2.0.4.
Three crucial things were needed:
   1. build mod_perl as a DSO and not static
Thats the default
   2. build apache --with-included-apr
Correct, by default it uses apxs if its found in $PATH.

   3. build libapreq2  --with-apr-config --with-apu-config
I assume you passed paths to those right, otherwise you've just found your problem. Which is conflicting library versions. I'll bet you a beer.

i.e. --with-apr-config=/path/to/apr/bin/apr-1-config


I've started apache and tried to access a dynamic webpage (content via PerlHandler) but got a SegFault. I then recompiled mod_perl with MP_DEBUG=1 and used http://perl.apache.org/docs/2.0/devel/debug/c.html as a reference.
Something isn't quite right. There should information in the () about arguments passed. In this case looking for something was NULL but shouldn't be.
You might try MP_MAINTAINER=1 and MP_DEBUG=1

#14 0xb7d78911 in modperl_callback () from /usr/local/httpd_perl/modules/mod_perl.so #15 0xb7d79279 in modperl_callback_run_handlers () from /usr/local/httpd_perl/modules/mod_perl.so #16 0xb7d797f5 in modperl_callback_per_srv () from /usr/local/httpd_perl/modules/mod_perl.so #17 0xb7d983f1 in modperl_post_read_request_handler () from /usr/local/httpd_perl/modules/mod_perl.so

Notice httpd has debugging enabled successfully.

#18 0x0806995b in ap_run_post_read_request (r=0x8adfdc0) at protocol.c:1669
#19 0x0806bc24 in ap_read_request (conn=0x8ad27a8) at protocol.c:1011
#20 0x0808d785 in ap_process_http_connection (c=0x8ad27a8) at http_core.c:183 #21 0x0807d909 in ap_run_process_connection (c=0x8ad27a8) at connection.c:43 #22 0x080a1915 in child_main (child_num_arg=<value optimized out>) at prefork.c:650
#23 0x080a1bd7 in make_child (s=0x8a6e4d8, slot=2) at prefork.c:746
#24 0x080a1c94 in startup_children (number_to_start=3) at prefork.c:764
#25 0x080a2719 in ap_mpm_run (_pconf=0x80c80a8, plog=0x81061a0, s=0x8a6e4d8) at prefork.c:985
#26 0x08064485 in main (argc=135028896, argv=0x8ad05c8) at main.c:730

The perlhandler is simple enough, I found that if I comment the following code from my handler and restart apache, it will run ok.
my @param_names = $r->param;
  foreach (@param_names) {
      $form->{$_} = $r->param($_);
}
in the code above $r = Apache2::Request->new(shift);
Above comments about conflicting libraries backs this up based on whats failing


--
------------------------------------------------------------------------
Philip M. Gollucci ([EMAIL PROTECTED])
o:703.549.2050x206
Senior System Admin - Riderway, Inc.
http://riderway.com / http://ridecharge.com
1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C

Work like you don't need the money,
love like you'll never get hurt,
and dance like nobody's watching.

Reply via email to