Wherever there is Perl, there are “gotchas” — the invisible traps that nullify your best efforts — and there are a few lurking here.
If you use DO_HTTPD=1
or
NO_HTTPD
and don’t use
APACHE_SRC
, then the Apache build will take place
in the first Apache directory found, rather than
the one with the highest release number.
If you are using Apache::Registry
scripts (see
later), line numbers will be wrongly reported in the error_log file.
To get the correct numbers — or at least, an approximation to
them, use PERL_MARK_WHERE=1
. It is hard to see why
anyone would prefer wrong line numbers, but this is part of the
richness of the world of Perl.
If you use backslashes to indicate line breaks in the argument list to Makefile.PL and you are running the tcsh shell, the backslashes will be stripped out, and all the parameters after the first backslash will be ignored.
If you put the mod_perl directory inside the Apache directory, everything will go horribly wrong.
If you escaped these gotchas, don’t be afraid that you have missed the fun: there are more to come. Building software the first time is a challenge, and one makes the effort to get it right.
Building it again, perhaps months or even years later, usually happens after some other drama, like a dead hard disk or a move to a different machine. At this stage one often has other things to think about, and repeating the build from memory can often be painful. mod_perl offers a civilized way of storing the configuration by making Makefile.PL look for parameters in the file makepl_args.mod_perl — you can put your parameters there the first time around and just run perl Makefile.PL. However, any command-line parameters will override those in the file.
One can always achieve this effect with any perl
script under Unix by running:
perl Makefile.PL `cat ~/.build_parameters`
cat
and the backticks cause the contents
of the
file build parameters to be extracted and passed as arguments to
Makefile.PL