Hi there,

On Thu, 3 Feb 2000, Wang, Pin-Chieh wrote:

> Ged,
> Thanks much for your help, Please tell me if I asked too many
> questions, If you don't I'll keep on ask you questions.  After I
> said that, here is another question.

You aren't asking too many questions, but please forgive me if I can't
get to them to answer them as quickly as you would like.

> I am building an Apache with Mod_perl under DSO. I thought I did
> right, I am using the following parameters for Makefile.PL under
> mod_perl-1.21 directory
> 
> APACHE_SRC=../apache_1.3.11/src USE_APACI=1 DO_HTTPD=1 \ 
> ADD_MODULE=rewrite,so,status,info \
> APACHE_PREFIX=/usr/local/apache_dso \
> PERL_MARK_WHERE=1 EVERYTHING=1 
> 
> I then
> Make
> Su
> Make install
> 
> I then 
> cd ../apache_1.3.11
> ./configure -enable-module=so -enable-module=info
> -prefix=/usr/local/apache_dso
> make
> su
> make install

When you write USE_APACI=1, after you have done 'make install' in the
mod_perl directory you do not have to build in the Apache directory,
mod_perl does it for you.  Watch the output of the scripts and the
compiler as they run, and you will see what is happening if you are
quick.  Use control-s to stop the output if you are not quick, then
use control-q to restart it.

You need to read some more.  Have a look especially at `scenario.pod'
in the Guide.  It builds mod_perl in several different ways, which you
can probably manipulate to suit your own needs.  Unfortunately I have
been ill with 'flu' so my rewrite of this section of the Guide is only
just finished today.  I can't send it to you because Stas needs to
look at it now to make sure I haven't completely screwed it up.  All
the technical information you need is in the existing version (which I
am assuming you now have!), it's just slightly better English after my
rewrite.  I hope.  When we've attended to the English, there will be
some more reorganizing.  Sorry for the inconvenience...

To get mod_perl's Makefile.PL to add your modules you can add lines
like this to your Makefile.PL argument list:

  % /usr/local/bin/perl Makefile.PL \
  APACHE_SRC=../apache_1.3.11/src USE_APACI=1 DO_HTTPD=1 USE_DSO=1 \ 
  APACHE_PREFIX=/usr/local/apache_dso \
  PERL_MARK_WHERE=1 EVERYTHING=1 \
  APACI_ARGS= --enable-module=so, \
              --enable-module=info

The line in your command to perl Makefile.PL which reads:

> APACHE_SRC=../apache_1.3.11/src USE_APACI=1 DO_HTTPD=1 \ 

tells Makefile.PL to make Apache as well as mod_perl but it does not
tell mod_perl to make a DSO binary, that's why I put USE_DSO=1 in my
version above.  You won't save as much memory as you might think using
DSO, and I'd avoid it until there are fewer questions about it.  The
line in your command which reads:

> ./configure -enable-module=so -enable-module=info

should I think read:

./configure --enable-module=so --enable-module=info

which tells Apache that it is to be linked with the mod_info module
and it is to be built ready to load modules dynamically (at run-time,
instead of linking them at compile-time) but it does not mean build
mod_perl itself as a Dynamically Shared Object.

Remember to do 'make clean' in both the mod_perl and the Apache
directories before you start again.

Read the Guide!

Hope this helps.

73,
Ged.



Reply via email to