Server version: Apache/1.3.27 (iTools/MacOSX) Server built: 11/13/02 17:38:56 Server's Module Magic Number: 19990320:13 Server compiled with.... -D EAPI -D HAVE_MMAP -D USE_MMAP_SCOREBOARD -D USE_MMAP_FILES -D HAVE_FCNTL_SERIALIZED_ACCEPT -D HAVE_FLOCK_SERIALIZED_ACCEPT -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D HARD_SERVER_LIMIT=256 -D HTTPD_ROOT="/usr" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="/var/run/httpd.pid" -D DEFAULT_SCOREBOARD="/var/run/httpd.scoreboard" -D DEFAULT_LOCKFILE="/var/run/httpd.lock" -D DEFAULT_ERRORLOG="/var/log/httpd/error_log" -D TYPES_CONFIG_FILE="/etc/httpd/mime.types" -D SERVER_CONFIG_FILE="/etc/httpd/httpd.conf" -D ACCESS_CONFIG_FILE="/etc/httpd/access.conf" -D RESOURCE_CONFIG_FILE="/etc/httpd/srm.conf"
After downloading the source for 1.3.27, I therefore created a layout to match this data and configured Apache:
./configure --with-layout=iTools --without-execstrip \ --server-uid=www --server-gid=www
Though if this would create an identically configured server in all respects, and/or if this is even necessary, is beyond me, and Tenon doesn't give me much information in this respect, either. However, Apache builds as expected and can be started for testing purposes.
I then downloaded mod_perl 1.28 and created the makefiles using the following:
perl Makefile.PL APACHE_SRC=../apache_1.3.27/src DO_HTTPD=1 USE_DSO=1 \ USE_APSX=1 WITH_APXS=/usr/sbin/apxs EVERYTHING=1 PERL_TRACE=1
"make" works as expected, but -- and this is the current problem -- "make test" bombs with the following console messages:
httpd listening on port 8529
will write error_log to: t/logs/error_log
letting apache warm up...\c
done
/usr/bin/perl t/TEST 0
still waiting for server to warm up...............not ok
server failed to start! (please examine t/logs/error_log) at t/TEST line 95.
and t/logs/error_log contains: [notice] END block called for startup.pl [notice] Destruction->DESTROY called for $global_object
For the record, this is what "perl -V" returns. The same Perl was used for building Apache and perl_mod:
Summary of my perl5 (revision 5.0 version 8 subversion 1) configuration:
Platform:
osname=darwin, osvers=6.6, archname=darwin
uname='darwin sphinx.naradek.org 6.6 darwin kernel version 6.6: thu may 1 21:48:54 pdt 2003; root:xnuxnu-344.34.obj~1release_ppc power macintosh powerpc '
config_args='-Dprefix=/usr -Doptimize=-g'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -DDEBUGGING -fno-strict-aliasing -I/usr/local/include',
optimize='-g',
cppflags='-no-cpp-precomp -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -DDEBUGGING -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='3.3 20030304 (Apple Computer, Inc. build 1435)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -flat_namespace -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-lgdbm -ldb -lm -lc
perllibs=-lm -lc
libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dyld.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' -flat_namespace -bundle -undefined suppress -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING USE_LARGE_FILES
Built under darwin
Compiled at Sep 26 2003 12:04:05
@INC:
/System/Library/Perl/5.8.1/darwin
/System/Library/Perl/5.8.1
/Library/Perl/5.8.1/darwin
/Library/Perl/5.8.1
/Library/Perl
/Network/Library/Perl/5.8.1/darwin
/Network/Library/Perl/5.8.1
/Network/Library/Perl
I tried the approach of downloading Apache 2 and mod_perl 1.99 in order to see if it would be possible to leave Tenon's iTools altogether in favour of compiling everything from scratch (including SSL, PHP, etc) -- but the same problem crops up again: "make test" for mod_perl can't start the server -- which in both cases can be started on its own.
Thus:
1) Why can't "make test" fire up Apache? 2) Why is --without-execstrip necessary on Mac OS X (Darwin/FreeBSD)? 3) Are any other Apache configuration options necessary to replicate Tenon's configuration, if required by mod_perl?
Any pointers much appreciated. At the moment it's a bit difficult to administrate the server in question, since mod_perl isn't working.
/ Peter Bengtson