You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Sam Carleton <sc...@activex-dev.com> on 2000/07/15 03:21:49 UTC

getting mod_perl configured on FreeBSD

I have successfully gotten Apache/mod_perl to compile under Linux many a
times.  This is my first attempt at compiling it on FreeBSD and I am
having problems.  The problem is that when to do the "make test", apache
never starts up.  I had once run into this on Linux and that was because
the  .makepl_args.mod_perl was pointing to a non-existing layout file
and I did not catch the error from the "perl Makefile.PL".  But I have
looked and look at the output of the "perl Makefile.PL" and see nothing
wrong.  I am going to post the output of "perl Makefile.PL", along with
my .makepl_args.mod_perl and my layout file in hopes that one of you can
find my error.  Thanks!!!!

------------output from "perl Makefile.PL"------------
Will run tests as User: 'nobody' Group: 'wheel'
Configuring for Apache, Version 1.3.12
 + using installation path layout: maineville
(/usr/src/apache.config.layout)
 + activated perl module (modules/perl/libperl.a)
Creating Makefile
Creating Configuration.apaci in src
 + enabling mod_so for DSO support
      + id: mod_perl/1.24
      + id: Perl/5.00503 (freebsd) [perl]
Creating Makefile in src
 + configured for FreeBSD 4.0 platform
 + setting C pre-processor to cc -E
 + checking for system header files
 + adding selected modules
    o rewrite_module uses ConfigStart/End
      enabling DBM support for mod_rewrite
    o dbm_auth_module uses ConfigStart/End
    o perl_module uses ConfigStart/End
      + mod_perl build type: DSO
      + setting up mod_perl build environment
      + adjusting Apache build environment

** Error: Cannot build mod_include with Perl support (USE_PERL_SSI) **
** when mod_perl is compiled as DSO because of cross-module calls.  **
** Ignoring PERL_SSI flag now.                                      **

 + checking sizeof various data types
 + doing sanity check on compiler and options
Creating Makefile in src/support
Creating Makefile in src/os/unix
Creating Makefile in src/ap
Creating Makefile in src/main
Creating Makefile in src/modules/standard
Creating Makefile in src/modules/proxy
Creating Makefile in src/modules/perl
Reading Makefile.PL args from ../.makepl_args.mod_perl
Will configure via APACI
cp apaci/Makefile.libdir
/usr/src/apache/src/modules/perl/Makefile.libdir
cp apaci/Makefile.tmpl /usr/src/apache/src/modules/perl/Makefile.tmpl
cp apaci/README /usr/src/apache/src/modules/perl/README
cp apaci/configure /usr/src/apache/src/modules/perl/configure
cp apaci/libperl.module /usr/src/apache/src/modules/perl/libperl.module
cp apaci/mod_perl.config.sh
/usr/src/apache/src/modules/perl/mod_perl.config.sh
cp apaci/load_modules.pl.PL
/usr/src/apache/src/modules/perl/load_modules.pl.PL
cp apaci/find_source.PL /usr/src/apache/src/modules/perl/find_source.PL
cp apaci/apxs_cflags.PL /usr/src/apache/src/modules/perl/apxs_cflags.PL
cp apaci/mod_perl.exp /usr/src/apache/src/modules/perl/mod_perl.exp
PerlDispatchHandler.........enabled
PerlChildInitHandler........enabled
PerlChildExitHandler........enabled
PerlPostReadRequestHandler..enabled
PerlTransHandler............enabled
PerlHeaderParserHandler.....enabled
PerlAccessHandler...........enabled
PerlAuthenHandler...........enabled
PerlAuthzHandler............enabled
PerlTypeHandler.............enabled
PerlFixupHandler............enabled
PerlHandler.................enabled
PerlLogHandler..............enabled
PerlInitHandler.............enabled
PerlCleanupHandler..........enabled
PerlRestartHandler..........enabled
PerlStackedHandlers.........enabled
PerlMethodHandlers..........enabled
PerlDirectiveHandlers.......enabled
PerlTableApi................enabled
PerlLogApi..................enabled
PerlUriApi..................enabled
PerlUtilApi.................enabled
PerlFileApi.................enabled
PerlConnectionApi...........enabled
PerlServerApi...............enabled
PerlSections................enabled
PerlSSI.....................enabled
(cd /usr/src/apache && CC="cc" ./configure
--activate-module=src/modules/perl/libperl.a --disable-rule=EXPAT
--with-layout=/usr/src/apache.config.layout:maineville
--server-uid=wwwrun --server-gid=daemon --enable-module=most
--enable-shared=max --prefix=/data01/maineville)
Checking CGI.pm VERSION..........ok
Checking for LWP::UserAgent......ok
Checking for HTML::HeadParser....ok
'-ADD_MODULE' is not a known MakeMaker parameter name.
Writing Makefile for Apache
Writing Makefile for Apache::Connection
Writing Makefile for Apache::Constants
Writing Makefile for Apache::File
Writing Makefile for Apache::Leak
Writing Makefile for Apache::Log
Writing Makefile for Apache::ModuleConfig
Writing Makefile for Apache::PerlRunXS
Writing Makefile for Apache::Server
Writing Makefile for Apache::Symbol
Writing Makefile for Apache::Table
Writing Makefile for Apache::URI
Writing Makefile for Apache::Util
Writing Makefile for mod_perl

------------.makepl_args.mod_perl------------
# File: .makepl_args.mod_erl
# enable all phase callbacks, API modules and misc features
EVERYTHING=1

# tell runtime diagnostics to active if MOD_PERL_TRACE environment 
# variable is set at runtime
PERL_TRACE=1

# tell Makefile.pl where the Apache source tree is
APACHE_SRC=/usr/src/apache/src

# tell Makefile.PL where the Apache is to be isntalled
APACHE_PREFIX=/data01/maineville

# disable Makefile.pl from compiling Apache
# PREP_HTTPD=1

# tell Makefile.PL to use the first source found, which will be the
# path specified above by APACHE_SRC
DO_HTTPD=1

# tell Makefile.PL to configure Apache using the apaci interface
USE_APACI=1

# tell makefile.PL to configure ssl support, too
# SSL_BASE=/usr/local/ssl

# add mod_info, mod_status, mod_usertrack, and mod_unique_id
# ADD_MODULE=info,status,usertrack,unique_id 

# additional arguments to give Apache's configure script
# aruments can be delimited by comma and/or specified with multipal
# APACI_ARGS lines
#APACI_ARGS=--includedir=/usr/src/php
#APACI_ARGS=--activate-module=src/modules/php3/libphp3.a
APACI_ARGS=--with-layout=/usr/src/apache.config.layout:maineville
APACI_ARGS=--server-uid=wwwrun
APACI_ARGS=--server-gid=daemon
APACI_ARGS=--enable-module=most
APACI_ARGS=--enable-shared=max

------------apache.config.layout------------
##
##  config.layout -- APACI Pre-defined Installation Path Layouts
##
##  Hints:
##  - layouts can be loaded with APACI's --with-layout=ID option
##  - when no --with-layout option is given, the default layout is
`Apache'
##  - a trailing plus character (`+') on paths is replaced with a 
##    `/<target>' suffix where <target> is the the argument from 
##    option --target (defaults to `httpd').
##

<Layout maineville>
    prefix:        /data01/maineville
    exec_prefix:   $prefix
    bindir:        $prefix/bin
    sbindir:       $prefix/sbin
    libexecdir:    $prefix/lib/apache
    mandir:        /usr/local/man
    sysconfdir:    $prefix/conf
    datadir:       $prefix
    iconsdir:      $datadir/icons
    htdocsdir:     $datadir/htdocs
    cgidir:        $datadir/cgi-bin
    includedir:    $prefix/include/apache
    localstatedir: $prefix
    runtimedir:    $localstatedir/run
    logfiledir:    $localstatedir/log
    proxycachedir: $localstatedir/cache
</Layout>

Re: getting mod_perl configured on FreeBSD

Posted by "G.W. Haywood" <ge...@jubileegroup.co.uk>.
Hi there,

On Fri, 14 Jul 2000, Sam Carleton wrote:

> FreeBSD [snip] "make test", apache never starts up.

User/group exists?
Permissions on all directories etc. OK?
httpd start up OK other than in make test?

> ** Error: Cannot build mod_include with Perl support (USE_PERL_SSI) **
> ** when mod_perl is compiled as DSO because of cross-module calls.  **
> ** Ignoring PERL_SSI flag now.                                      **

Tried building static?

73,
Ged.



Re: getting mod_perl configured on FreeBSD

Posted by Vincent Bruijnes <vi...@bruijnes.com>.
Well i had the same problem on freebsd too.

first goto mod_perl directory:
perl Makefile.PL PREP_HTTPD=1 USE_APACI=1
then make make test and make install
Goto your apache directory ./configure --prefix=/www --enable-shared=max 
--activate-modules=src/modules/perl/libperl.a --disable-shared=perl
then make
and make install.
and voila your apache is configured as statically mod_perl and you have DSO 
enabled
so you never need to recompile apache if you want to add optional modules.

Good Luck and let me know if I can help you any more.
Vincent Bruijnes
At 21:21 14-7-00 -0400, you wrote:
>I have successfully gotten Apache/mod_perl to compile under Linux many a
>times.  This is my first attempt at compiling it on FreeBSD and I am
>having problems.  The problem is that when to do the "make test", apache
>never starts up.  I had once run into this on Linux and that was because
>the  .makepl_args.mod_perl was pointing to a non-existing layout file
>and I did not catch the error from the "perl Makefile.PL".  But I have
>looked and look at the output of the "perl Makefile.PL" and see nothing
>wrong.  I am going to post the output of "perl Makefile.PL", along with
>my .makepl_args.mod_perl and my layout file in hopes that one of you can
>find my error.  Thanks!!!!
>
>------------output from "perl Makefile.PL"------------
>Will run tests as User: 'nobody' Group: 'wheel'
>Configuring for Apache, Version 1.3.12
>  + using installation path layout: maineville
>(/usr/src/apache.config.layout)
>  + activated perl module (modules/perl/libperl.a)
>Creating Makefile
>Creating Configuration.apaci in src
>  + enabling mod_so for DSO support
>       + id: mod_perl/1.24
>       + id: Perl/5.00503 (freebsd) [perl]
>Creating Makefile in src
>  + configured for FreeBSD 4.0 platform
>  + setting C pre-processor to cc -E
>  + checking for system header files
>  + adding selected modules
>     o rewrite_module uses ConfigStart/End
>       enabling DBM support for mod_rewrite
>     o dbm_auth_module uses ConfigStart/End
>     o perl_module uses ConfigStart/End
>       + mod_perl build type: DSO
>       + setting up mod_perl build environment
>       + adjusting Apache build environment
>
>** Error: Cannot build mod_include with Perl support (USE_PERL_SSI) **
>** when mod_perl is compiled as DSO because of cross-module calls.  **
>** Ignoring PERL_SSI flag now.                                      **
>
>  + checking sizeof various data types
>  + doing sanity check on compiler and options
>Creating Makefile in src/support
>Creating Makefile in src/os/unix
>Creating Makefile in src/ap
>Creating Makefile in src/main
>Creating Makefile in src/modules/standard
>Creating Makefile in src/modules/proxy
>Creating Makefile in src/modules/perl
>Reading Makefile.PL args from ../.makepl_args.mod_perl
>Will configure via APACI
>cp apaci/Makefile.libdir
>/usr/src/apache/src/modules/perl/Makefile.libdir
>cp apaci/Makefile.tmpl /usr/src/apache/src/modules/perl/Makefile.tmpl
>cp apaci/README /usr/src/apache/src/modules/perl/README
>cp apaci/configure /usr/src/apache/src/modules/perl/configure
>cp apaci/libperl.module /usr/src/apache/src/modules/perl/libperl.module
>cp apaci/mod_perl.config.sh
>/usr/src/apache/src/modules/perl/mod_perl.config.sh
>cp apaci/load_modules.pl.PL
>/usr/src/apache/src/modules/perl/load_modules.pl.PL
>cp apaci/find_source.PL /usr/src/apache/src/modules/perl/find_source.PL
>cp apaci/apxs_cflags.PL /usr/src/apache/src/modules/perl/apxs_cflags.PL
>cp apaci/mod_perl.exp /usr/src/apache/src/modules/perl/mod_perl.exp
>PerlDispatchHandler.........enabled
>PerlChildInitHandler........enabled
>PerlChildExitHandler........enabled
>PerlPostReadRequestHandler..enabled
>PerlTransHandler............enabled
>PerlHeaderParserHandler.....enabled
>PerlAccessHandler...........enabled
>PerlAuthenHandler...........enabled
>PerlAuthzHandler............enabled
>PerlTypeHandler.............enabled
>PerlFixupHandler............enabled
>PerlHandler.................enabled
>PerlLogHandler..............enabled
>PerlInitHandler.............enabled
>PerlCleanupHandler..........enabled
>PerlRestartHandler..........enabled
>PerlStackedHandlers.........enabled
>PerlMethodHandlers..........enabled
>PerlDirectiveHandlers.......enabled
>PerlTableApi................enabled
>PerlLogApi..................enabled
>PerlUriApi..................enabled
>PerlUtilApi.................enabled
>PerlFileApi.................enabled
>PerlConnectionApi...........enabled
>PerlServerApi...............enabled
>PerlSections................enabled
>PerlSSI.....................enabled
>(cd /usr/src/apache && CC="cc" ./configure
>--activate-module=src/modules/perl/libperl.a --disable-rule=EXPAT
>--with-layout=/usr/src/apache.config.layout:maineville
>--server-uid=wwwrun --server-gid=daemon --enable-module=most
>--enable-shared=max --prefix=/data01/maineville)
>Checking CGI.pm VERSION..........ok
>Checking for LWP::UserAgent......ok
>Checking for HTML::HeadParser....ok
>'-ADD_MODULE' is not a known MakeMaker parameter name.
>Writing Makefile for Apache
>Writing Makefile for Apache::Connection
>Writing Makefile for Apache::Constants
>Writing Makefile for Apache::File
>Writing Makefile for Apache::Leak
>Writing Makefile for Apache::Log
>Writing Makefile for Apache::ModuleConfig
>Writing Makefile for Apache::PerlRunXS
>Writing Makefile for Apache::Server
>Writing Makefile for Apache::Symbol
>Writing Makefile for Apache::Table
>Writing Makefile for Apache::URI
>Writing Makefile for Apache::Util
>Writing Makefile for mod_perl
>
>------------.makepl_args.mod_perl------------
># File: .makepl_args.mod_erl
># enable all phase callbacks, API modules and misc features
>EVERYTHING=1
>
># tell runtime diagnostics to active if MOD_PERL_TRACE environment
># variable is set at runtime
>PERL_TRACE=1
>
># tell Makefile.pl where the Apache source tree is
>APACHE_SRC=/usr/src/apache/src
>
># tell Makefile.PL where the Apache is to be isntalled
>APACHE_PREFIX=/data01/maineville
>
># disable Makefile.pl from compiling Apache
># PREP_HTTPD=1
>
># tell Makefile.PL to use the first source found, which will be the
># path specified above by APACHE_SRC
>DO_HTTPD=1
>
># tell Makefile.PL to configure Apache using the apaci interface
>USE_APACI=1
>
># tell makefile.PL to configure ssl support, too
># SSL_BASE=/usr/local/ssl
>
># add mod_info, mod_status, mod_usertrack, and mod_unique_id
># ADD_MODULE=info,status,usertrack,unique_id
>
># additional arguments to give Apache's configure script
># aruments can be delimited by comma and/or specified with multipal
># APACI_ARGS lines
>#APACI_ARGS=--includedir=/usr/src/php
>#APACI_ARGS=--activate-module=src/modules/php3/libphp3.a
>APACI_ARGS=--with-layout=/usr/src/apache.config.layout:maineville
>APACI_ARGS=--server-uid=wwwrun
>APACI_ARGS=--server-gid=daemon
>APACI_ARGS=--enable-module=most
>APACI_ARGS=--enable-shared=max
>
>------------apache.config.layout------------
>##
>##  config.layout -- APACI Pre-defined Installation Path Layouts
>##
>##  Hints:
>##  - layouts can be loaded with APACI's --with-layout=ID option
>##  - when no --with-layout option is given, the default layout is
>`Apache'
>##  - a trailing plus character (`+') on paths is replaced with a
>##    `/<target>' suffix where <target> is the the argument from
>##    option --target (defaults to `httpd').
>##
>
><Layout maineville>
>     prefix:        /data01/maineville
>     exec_prefix:   $prefix
>     bindir:        $prefix/bin
>     sbindir:       $prefix/sbin
>     libexecdir:    $prefix/lib/apache
>     mandir:        /usr/local/man
>     sysconfdir:    $prefix/conf
>     datadir:       $prefix
>     iconsdir:      $datadir/icons
>     htdocsdir:     $datadir/htdocs
>     cgidir:        $datadir/cgi-bin
>     includedir:    $prefix/include/apache
>     localstatedir: $prefix
>     runtimedir:    $localstatedir/run
>     logfiledir:    $localstatedir/log
>     proxycachedir: $localstatedir/cache
></Layout>