Web Servers on Unix and Linux - installing mod_perl version 1 -- does not work

This is Interesting: Free IT Magazines  
Home > Archive > Web Servers on Unix and Linux > September 2004 > installing mod_perl version 1 -- does not work





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author installing mod_perl version 1 -- does not work
phil-news-nospam@ipal.net

2004-09-24, 2:48 am

Apache version: 1.3.31
mod_perl version: 1.29

Platforms tried: Slackware 9.0
gcc 3.2.2, gmake 3.80, ld 2.13.90.0.18
Slackware 10.0
gcc 3.3.4, gmake 3.80, ld 2.15.90.0.3
Red Hat Enterprise Linux ES release 3
gcc 3.2.3, gmake 3.79.1, ld 2.14.90.0.4

I am trying to build Apache with mod_perl (and mod_php and mod_ssl) with
these modules (and others) built statically. Complicating this are the
fact that installation documents vary, and are not all that clear. Which
one is right is not clear. The significant documents I am using are the
"INSTALL" file that comes in the mod_perl tarball, as well as the web site
document at: http://perl.apache.org/docs/1.0/guide/install.html

When I omit mod_perl, I get a good build and other modules are all present.
The problems happen with mod_perl, and happen even if I omit mod_php and
mod_ssl.

Over the past week I have tried so many different ways to build it, I've
lost all track. I did code every step I am doing into a script so that
when I make a change, I can be sure only that is changed, and that I do
not forget some other step, or mistype it, as might happen if I were to do
it all manually. Furthermore, every build is done starting in an empty
directory and extracting the original tarballs. So it is always working
in fresh conditions.

I originally started by following the instructions in the "INSTALL" file
in the mod_perl tarball. Because I was also adding other modules, I chose
to use the "build it by hand" approach so that "make" and "make install"
were run later. When following these instructions, the end result looked
like mod_perl was being built. However, the module simply never showed up.
Doing "httpd -l" showed mod_php4 and mod_ssl and others OK, but mod_perl
was not there. I further confirmed this by attempting to configure some
PerlModule stuff in httpd.conf and the directives were not recognized.
So it seems it did compile but did not get linked.

What makes this strange is that when I omit mod_perl, the httpd binary
is a good bit smaller, suggesting that something is getting included.
But I don't know what.

I next followed http://perl.apache.org/docs/1.0/guide/install.html which
was different somewhat. In this case, it tells me to build Apache in a
different way after it has configured it. Instead of working in the top
level Apache directory, the work is done in the "src" subdirectory. And
instead of running "./configure", it says to run "./Configure", which I
presume "perl Makefile.PL" created.

The problem here is that "./Configure" simply does not work. I pass the
Apache configuration options, but it does not recognize --prefix= which
I definitely need to be using.

I've done over 100 builds of all different varieties, including with some
well meaning suggestions from people on IRC, none of which worked (and I
got quite a variety of errors from nothing built at all to some generated
files missing).

So what can I do from here to find out why mod_perl won't build or won't
link it statically?

Why is there inconsistency between different installation documents?

Does anyone know of another installation document that is complete and
correct?

--
-----------------------------------------------------------------------------
| Phil Howard KA9WGN | http://linuxhomepage.com/ http://ham.org/ |
| (first name) at ipal.net | http://phil.ipal.org/ http://ka9wgn.ham.org/ |
-----------------------------------------------------------------------------
Davide Bianchi

2004-09-24, 2:48 am

On 2004-09-24, phil-news-nospam@ipal.net <phil-news-nospam@ipal.net> wrote:
> Apache version: 1.3.31
> mod_perl version: 1.29
> I am trying to build Apache with mod_perl (and mod_php and mod_ssl) with
> these modules (and others) built statically.


This is what I did:

1. modified config.layout to add a "Slackware" layout, so every bit goes
in the right place. Skip this if you don't want your httpd.conf in
/etc/apache and so on.

2. created src/modules/perl and copied the whole source tree of perl
from mod_perlX/src/modules/perl in it.

3. run
./configure ---with-layout=Slackware \
--enable-module=rewrite \
--activate-module=src/modules/perl/libperl.a
Add more options if you need them.

4. make; make install

Results:
httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
....
mod_perl.c

Give it a try.

Davide


--
phil-news-nospam@ipal.net

2004-09-25, 5:53 pm

In alt.apache.configuration Davide Bianchi <davideyeahsure@onlyforfun.net> wrote:

| On 2004-09-24, phil-news-nospam@ipal.net <phil-news-nospam@ipal.net> wrote:
|> Apache version: 1.3.31
|> mod_perl version: 1.29
|> I am trying to build Apache with mod_perl (and mod_php and mod_ssl) with
|> these modules (and others) built statically.
|
| This is what I did:
|
| 1. modified config.layout to add a "Slackware" layout, so every bit goes
| in the right place. Skip this if you don't want your httpd.conf in
| /etc/apache and so on.

It's going into a different place because the machine will also be
running a copy of Apache 2 on different IPs.


| 2. created src/modules/perl and copied the whole source tree of perl
| from mod_perlX/src/modules/perl in it.

That was one of the steps.

| 3. run
| ./configure ---with-layout=Slackware \
| --enable-module=rewrite \
| --activate-module=src/modules/perl/libperl.a
| Add more options if you need them.

Did that and plenty more.


| 4. make; make install

Some permutations died here with various errors like mod_perl_version.h
not being found the most common. Apparently it is to be generated by
Makefile.PL but that doesn't always happen.


| Results:
| httpd -l
| Compiled-in modules:
| http_core.c
| mod_env.c
| mod_log_config.c
| ....
| mod_perl.c

I get the other modules. But mod_perl never shows up in the list.

--
-----------------------------------------------------------------------------
| Phil Howard KA9WGN | http://linuxhomepage.com/ http://ham.org/ |
| (first name) at ipal.net | http://phil.ipal.org/ http://ka9wgn.ham.org/ |
-----------------------------------------------------------------------------
Davide Bianchi

2004-09-26, 5:52 pm

On 2004-09-25, phil-news-nospam@ipal.net <phil-news-nospam@ipal.net> wrote:
> Some permutations died here with various errors like mod_perl_version.h
> not being found the most common.


Then you have to add the location of mod_perl_version.h and the like
to your INCLUDE path.

> Makefile.PL but that doesn't always happen.


??? "doesn't ALWAYS happen" ???? If you have a problem that happen
"sometimes" by definition there is no solution...
Evidently your installation is quite messed up.

Davide

--
Linux: The OS people choose without $200,000,000 of persuasion
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com