Ok.

Here's the output of localhost/perl-status?inc (elided)

Embedded Perl version v5.6.1 for Apache/1.3.23 (Darwin) mod_perl/1.26 
process 2729,
running since Fri Feb 1 19:25:53 2002
Package Version Modified File
Apache 1.27 Tue May 1 13:11:20 2001 
/usr/local/apache/perl/darwin/Apache.pm
<snip/>
Apache::Cookie 1.0 Sun Jan 20 12:19:24 2002 
/usr/local/apache/perl/darwin/Apache/Cookie.pm
Apache::Request 1.0 Sun Jan 20 12:19:02 2002 
/usr/local/apache/perl/darwin/Apache/Request.pm

This is with a statically linked mod_perl. It doesn't crash, but in my 
(minimal) testing, it seems that Apache::Cookie is a no-op. I can't seem 
to get it to set or retrieve any cookies, it fails silently.

Joe- ApacheCookie_* was not being boostrapped into the executable, so it 
was being optimized of the linkage.

The following patch, while probably not correct (and probably the cause 
of the silent failure), covers it.

--- http_main.c Fri Feb  1 19:22:51 2002
+++ http_main.c~        Mon Jan 28 04:07:46 2002
@@ -7805,12 +7805,5 @@
  {
      return ApacheRequest_new(r);
  }
-/*RAF*/
-#include "apache_cookie.h"
-ApacheCookie *suck_in_apcookie(request_rec *r);
-ApacheCookie *suck_in_apcookie(request_rec *r)
-{
-    return ApacheCookie_new(r);
-}
  #endif /* USE_APREQ */


-----END PATCH----

Also, the "all-in-one" compile method doesn't setup apache correctly, so 
the steps taken were:

unpack everthing in the same root directory

mod_perl:

$ perl Makefile.PL APACHE_PREFIX=/usr/local/apache DO_HTTP=1 \
PREP_HTTP=1 USE_APACI=1 EVERYTHING=1
$ make
$ make install

http_apreq:

$ perl Makefile.PL
$ make
$ make install

apache:

$ CFLAGS='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ./configure 
--prefix=local/apache  \
  --enable-shared=max --disable-rule=EXPAT --with-layout=Apache \
--activate-module=src/modules/perl/libperl.a --disable-shared=perl

$ make
$ make install

rick

Reply via email to