This is a discussion on installing mod_perl version 1 -- does not work within the Apache Web Server forums, part of the Web Server and Related Forums category; Apache version: 1.3.31 mod_perl version: 1.29 Platforms tried: Slackware 9.0 gcc 3.2.2, gmake 3....
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
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/ | ----------------------------------------------------------------------------- |
|
|||
|
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 -- |
|
|||
|
On 2004-09-24, Davide Bianchi <davideyeahsure@onlyforfun.net> wrote:
> ./configure ---with-layout=Slackware \ oooops, it was --with-layout of course, and not ---with-layout. Davide -- Microsoft Zen - Become one with the blue screen. -- From a Slashdot.org post |
|
|||
|
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/ | ----------------------------------------------------------------------------- |
|
|||
|
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 |