September 6th, 2000
Problem: If built with the defaults or according to the documentation, Apache, Perl, and mod_perl produce a dysfunctional libperl.so DSO module. Essentially, the resulting module will prevent the Apache from properly starting up. [Curiously, the module can be successfully added to a _running_ Apache by editing httpd.conf and then sending SIGHUP at Apache's PID. Very Strange.]
Solution: To build an Apache 1.3.12, mod_perl-1.24/Perl 5.6.0 DSO module on Linux, build both
Perl and Apache to _not_ use "Large Files" (>2Gb). Then build the mod_perl libperl.so. Server involved
was an old RH6.1, kernel 2.2.16 on an Intel P1.
The following notes should make sense in the context of the documentation for the packages involved. Outside that, the information will be incomplete or otherwise insufficient.
#1) Since we're running Mason on Perl 5.6.0, we have to apply a
Perl 5.6.0 patch patched according to
Mason listserv posting August 15th
(by David Mitchell davem@fdgroup.co.uk ?)
[Patch for Mason 0.87 not used as we're dealing with Mason 0.88].
#2) Configure and build Perl as
./Configure -Uuselargefiles
make
make test
make install
#3) Apache configured as follows:
./configure \
--with-layout=Apache \
--enable-module=so \
--enable-module=most \
--enable-shared=max > fubar.config 2>&1
#4) edit Apache Makefile to add
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
to EXTRA_CFLAGS= list.
Apache build and install is otherwise straightforward.
#5) mod_perl-1.24 configured as follows:
perl Makefile.PL \
USE_APXS=1 \
WITH_APXS=/usr/local/apache/bin/apxs \
EVERYTHING=1
#6) Mason 0.88 then builds, tests, installs, and runs properly.