Hi,

Thanks a lot it worked !!!
In the process i needed some tweaks, maybe they can help a little more to 
others.
The perlbrew install command was failing signaling download error, it was the 
inexistente folder, so i creted it:
mkdir -p ~/perl5/perlbrew/dists/
Then it worked fine:
perlbrew install -Accflags=-fPIC -v --noman --notest -j9 --as 
perl-5.10.1-apache-1.3 5.10.1
perlbrew use perl-5.10.1-apache-1.3

sudo apt install cpanminus
cpanm -q --notest LWP::UserAgent

I left all in a folder called src, and make some test runs, so i automate 
deleting perl and apache folders and uncompress again.
cd src/
rm -rf mod_perl-1.31 apache_1.3.42

tar xzvf apache_1.3.42.tar.gz
tar xzvf mod_perl-1.31.tar.gz

Patch aplying automation too:
cd mod_perl-1.31/
patch -p1 < ../mod_perl-1.32.patch

cd ..
cd apache_1.3.42/
patch -p1 < ../apache-getline.patch
patch -p1 < ../gcc-inline-fix.patch

Finally, in the environment created i used "cpan" clasic command. "cpanm" was 
not installing modules in the right path.
Dependencies: For avoid question on follow dependencies before invoking cpan 
invoke from shell:
export PERL_MM_USE_DEFAULT=1

Then, newer module versions where failing the tests all the time, so i 
installed them with force, i.e. for DBI module:
force install DBI

Thanks again,
Hans

On feb. 24 2019, at 8:07 pm, Michael Schout <msch...@gkg.net> wrote:
> On 2/22/19 10:54 AM, Matthias Schmitt wrote:
> > I doubt that you will be able to compile mod_perl 1.x with newer compilers 
> > and operating systems.
>
>
> Hold my beer :).
> $ cat /etc/lsb-release
> DISTRIB_ID=Ubuntu
> DISTRIB_RELEASE=18.04
> DISTRIB_CODENAME=bionic
> DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
>
> $ which httpd
> /home/mschout/perl5/perlbrew/perls/perl-5.10.1-apache-1.3/bin/httpd
>
> $ httpd -v
> Server version: Apache/1.3.41 (Unix)
> Server built: Feb 24 2019 16:43:18
>
> And, it passes the Apache::AuthCookie test suite (provided you install
> Apache::Test and Test::More@0.94). It identifies in the log as:
> [notice] Apache/1.3.41 (Unix) mod_perl/1.32-dev configured
>
> I'm actually somewhat suprised that it compiled.
> Its *possible* :). But given how long 1.3 has been EOL'd, I *STRONGLY*
> discourage anyone from using it. At a minimum update to Apache 2.2,
> which, although also EOL'd at this point, at least got security updates
> within the past year or so. You really need to migrate to 2.4.
>
> That being said, you can build it if you apply the attached patches, as
> part of the perlbrew+mod_perl setup I made for testing various versions
> of apache and mod_perl over the years. For the curious, the process I
> used here was:
>
> $ perlbrew install -Accflags=-fPIC -v --noman --notest -j9 \
> --as perl-5.10.1-apache-1.3 5.10.1
>
> I used 5.10 in order to avoid dealing with any incompatibilities with
> newer perls against apache 1.3.
>
> $ perlbrew use perl-5.10.1-apache-1.3
> $ cpanm -q --notest LWP::UserAgent
>
> Then extract apache and mod_perl dists (I'm using apache 1.3.41,
> mod_perl 1.31) and apply the attached patches to apache+mod_perl.
>
> For mod_perl, apply the mod_perl-1.32.patch, which IIRC, I pulled from
> the mod_perl svn trunk years ago.
>
> The other two patches need to be applied to apache (apache-getline.patch
> and gcc-inline-fix.patch).
>
> I built this way:
> $ perl Makefile.PL \
> APACHE_SRC=path/to/apache-src/src \
> DO_HTTPD=1 \
> USE_APACI=1 \
> PREP_HTTPD=1 \
> EVERYTHING=1
> $ cd /path/to/apache-src
> $ bash ./configure --prefix=$PERLBREW_ROOT/perls/$PERLBREW_PERL \
> --with-layout=Apache \
> --enable-module=all \
> --disable-module=auth_db \
> --disable-module=auth_dbm \
> --enable-shared=max \
> --activate-module=src/modules/perl/libperl.a \
> --disable-shared=perl \
> --disable-rule=EXPAT \
> --disable-rule=WANTHSREGEX
> $ cd /path/to/apache-src
> $ make install
> $ cd /path/to/modperl-src
> $ make install
>
> I have a Makefile that does all of this. I suppose I could publish it
> on github or something, but given the age of apache 1.3, it seems
> irresponsible to publish it at this point :).
>
> Regards,
> Michael Schout
>

Reply via email to