Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 58512
Status: rejected
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: kmx [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Suggestion - including mod_perl in strawberry release
Hi,

I have been playing with mod_perl for a while and in the end I managed to work out more or less working binaries for mod_perl (for both 5.12 and 5.10).

As you might know the biggest issue with mod_perl is that it is not ready for gcc compiler on Win32, even worse all available Apache Win32 binaries are compiled with mscv compiler thus not easily likeg with gcc-based perl (e.g. strawberry).

It turned out that the most feasible way is to use MS compiler for building mod_perl + some tricks to avoid linking with versioned msvcrt??.dll (+ one minor fix).

As Apache binaries are currently available only for 32bit MS Windows I was able to build only 32bit version for boths 5.10 and 5.12. I have used:
- Apache-2.2.15
- mod_perl 2.0.4
- perls 5.12.0 and 5.10.1 (I had to use ActivePerl for building)

I have successfully tested my binaries only on basic examples from mod_perl documentation (any additional testing welcome).

The main argument for putting mod_perl into strawberry release is enormous difficulty to get it working on strawberry (no chance to install uit from CPAN; ppm package for ActivePerl is avalable only for 5.10 and suffers from some troubles).

Another argument is that some applications - namely Bugzilla - use mod_perl as a prefered way of operation.

The resulting binaries can be found at:
- http://strawberryperl.com/package/kmx/mod_perl/5.10_x86/mod_perl-2.0.4-MSWin32-x86-multi-thread-5.10.par
- http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl-2.0.4-MSWin32-x86-multi-thread-5.12.par

What is important: we also need to distribute a file mod_perl.so - these files can be found here:
- http://strawberryperl.com/package/kmx/mod_perl/5.10_x86/mod_perl.so
- http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl.so

The question is "where to put mod_perl.so?" - I was thinking about a new dir like c:\strawberry\webservers where we can put not only mod_perl.so but also for example mod_fastcgi.so + simple Apache configuration examples showing the integration of Apache + Strawberry perl. We can also make it multi-technological and put there examples of FastCGI+IIS configuration (for IIS6.x - Win2003 and IIS7.x - Win2008/Vista/7).

--
kmx
I like this, but I don't think it should go into Strawberry itself... I DO think we need to release this in some fashion - maybe as a .par file that people can install, and that can be included in Professional. Let me mull how to do this over, I'm leaving today and won't be back at my home programming computer for a week. OK?
Le Ven 18 Juin 2010 08:06:33, KMX a écrit : Show quoted text
> Hi, > > I have been playing with mod_perl for a while and in the end I managed > to work > out more or less working binaries for mod_perl (for both 5.12 and > 5.10).
This is fantastic news! With your explanations, now I understand why all my previous attempts lamentably failed. So I'll eagerly wait for a modperl distrib for Strawberry. I tried to LoadModule http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl.so with Apache 2.2.15 and Perl 5.12.1 (strawberry beta), but httpd dies silently. Is this because I have Perl 5.12.1 instead of 5.12.0 ? When building the distrib, please also include libapreq2.dll and mod_apreq2.so. Many many thanks in advance, L. Dami
RT-Send-CC: DAMI [...] cpan.org
Show quoted text
> I tried to LoadModule
> http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl.so
> with Apache 2.2.15 and Perl 5.12.1 (strawberry beta), but httpd dies
> silently. Is this because I have Perl 5.12.1 instead of 5.12.0 ?

It should work with both 5.12.0 and 5.12.1. I have just made a test with mod_perl binaries + strawberry 5.12.1.0-beta1 and it seems to work nice.

I have uploaded simple working Apache configuration + simple scripts - please check step-by-step scenario at:
http://strawberryperl.com/package/kmx/mod_perl/README-512.TXT

--
kmx
RT-Send-CC: DAMI [...] cpan.org
Show quoted text
> When building the distrib, please also include libapreq2.dll and
> mod_apreq2.so.

I have uploaded new binaries for both mod_perl and libapreq2
see http://strawberryperl.com/package/kmx/mod_perl/
(files are dated: 21-Jun-2010)

Laurent, could you please test it and post any feedback to this RT?

To install them into strawberry perl 5.12.x run from command prompt:
perl -MPAR::Dist -e install_par('http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/mod_perl-2.0.4-MSWin32-x86-multi-thread-5.12.par')
perl -MPAR::Dist -e install_par('http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/libapreq2-2.12-MSWin32-x86-multi-thread-5.12.par')

In http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/ you can find all other necessary files (mod_perl.so, mod_apreq2.so, libapreq2.dll).

--
kmx
Le Lun 21 Juin 2010 11:15:10, KMX a écrit : Show quoted text
> Laurent, could you please test it and post any feedback to this RT? >
Yippie, it works ! Actually, my previously reported failure was my fault -- pointing to an obsolete startup.pl. So now I have a running Apache 2.2.15 / modperl / Perl5.12.1, and everything seems to be OK (including the APR layer). Thanks again, this is extremely useful. I have some important developments to do this summer, combining mod_dav and mod_perl, and being able to build and test everything on my laptop helps a lot.
Hi Curtis,

Dne Pá 18.čen.2010 12:51:37, CSJEWELL napsal(a):
Show quoted text
> I like this, but I don't think it should go into Strawberry itself...

Yes, I know we do not the base strawberry release to bloat. However:

1/ mod_perl might be interesting for projects packaging their web application with strawberry perl (like e.g. foswiki.org guys do) - these are very likely to use "smaller" base strawberry (not "bigger" professional one). On the other hand those guys might be knowledable enough to do some mod_perl hacking.

2/ Currently we do not have such a thing as a strawberry perl official repo (e.g. for PAR binaries) so manual installation will be slightly complicated and maintaining mod_perl support "somewhere on the net" will demand some effort. Considering "standard" difficulties of mod_perl setup it might be really hard for common user to make strawberry working with apache via mod_perl (I know he/she can go for professional one).

3/ My general opinion on what to include to base strawberry and what not is: everything that installs smoothly from CPAN and is not esential for some reason (like crypto stuff necessaty for https support + some others) may be ommited. For me it would be OK to have for example external library binaries e.g. libssh2 and not to have corresponding perl module e.g. Net::SSH2 (providing that user can easily install it via cpan -i <modulename>).

So what about to save some space by leaving out -  Imager, GD, some Math::* - and putting mod_perl into base strawberry?

Of course I would accept your decision, you are the boss here :)

--
kmx
Just to be complete - latest binaries of mod_perl + mod_apreq2 are <1 MB (zipped)

By leaving out the following from base strawberry 5.12 release we can save:
1,56 MB - BerkeleyDB
1,38 MB - Imager
0,74 MB - Math-MPFR
0,55 MB - Math-MPC
0,27 MB - GD
-------------
total 4,51 MB (all modules above install smoothly from cpan)

For including mod_perl & co. we need
3,08 MB - perl modules     
0,61 MB - related *.so + *.dll   
-------------
total 3,69 MB


--
kmx
On Tue Jun 22 08:25:23 2010, KMX wrote: Show quoted text
> By leaving out the following from base strawberry 5.12 release we can
save: Show quoted text
> 1,56 MB - BerkeleyDB > 1,38 MB - Imager > 0,74 MB - Math-MPFR > 0,55 MB - Math-MPC > 0,27 MB - GD
I think at least one of these (Imager I'm pretty sure about, and maybe BerkeleyDB) is a prereq for stuff we DO want to include. I'd have to check. And I think we can START having an official .par repository for Strawberry Perl at http://strawberryperl.com/par/ or something of the like (I'd throw an index file up there and the files as links behind it) That would be the better solution, I would think, for the long term. I'd do this after YAPC::NA is done and I get back to my house - probably early next week. Let me get it started, please, OK?
Show quoted text
> And I think we can START having an official .par repository for
> Strawberry Perl at http://strawberryperl.com/par/ or something of the
> like (I'd throw an index file up there and the files as links behind it)
>
> That would be the better solution, I would think, for the long term.

Agree, sooner or later we probably have to create official PAR repo.

Show quoted text
> I'd do this after YAPC::NA is done and I get back to my house - probably
> early next week. Let me get it started, please, OK?

There is no hurry as we are not gonna put it into July release. From my side I am "finished" with mod_perl for a while as it seems to be working. The rest is up to you :)

--
kmx

Subject: Re: [rt.cpan.org #58512] Suggestion - including mod_perl in strawberry release
Date: Fri, 25 Jun 2010 13:23:52 +1000
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: Adam Kennedy <adamkennedybackup [...] gmail.com>
Imager already isn't in the base, it should just be in Professional, ditto GD etc. mod_perl could easily be in Professional, since it's explicitly designed to bloat. For the base, perhaps we could put in a start menu entry that points to a simple page describing how to install it? ----------------------------- mod_perl is blah blah Things you have to care about is blah blah... To install run "pip someurl.par" ---------------------------- The people doing packaging could easily do that stuff themselves... Adam K On 22 June 2010 07:15, kmx via RT <bug-Perl-Dist-Strawberry@rt.cpan.org> wrote: Show quoted text
>       Queue: Perl-Dist-Strawberry >  Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=58512 > > > Hi Curtis, > > Dne Pá 18.čen.2010 12:51:37, CSJEWELL napsal(a):
>> I like this, but I don't think it should go into Strawberry itself...
> > Yes, I know we do not the base strawberry release to bloat. However: > > 1/ mod_perl might be interesting for projects packaging their web application > with strawberry perl (like e.g. foswiki.org guys do) - these are very likely to > use "smaller" base strawberry (not "bigger" professional one). On the other > hand those guys might be knowledable enough to do some mod_perl hacking. > > 2/ Currently we do not have such a thing as a strawberry perl official repo > (e.g. for PAR binaries) so manual installation will be slightly complicated and > maintaining mod_perl support "somewhere on the net" will demand some effort. > Considering "standard" difficulties of mod_perl setup it might be really hard > for common user to make strawberry working with apache via mod_perl (I know > he/she can go for professional one). > > 3/ My general opinion on what to include to base strawberry and what not is: > everything that installs smoothly from CPAN and is not esential for some reason > (like crypto stuff necessaty for https support + some others) may be ommited. > For me it would be OK to have for example external library binaries e.g. > libssh2 and not to have corresponding perl module e.g. Net::SSH2 (providing > that user can easily install it via cpan -i <modulename>). > > So what about to save some space by leaving out - Imager, GD, some Math::* - > and putting mod_perl into base strawberry? > > Of course I would accept your decision, you are the boss here :) > > -- > kmx > >
From: alexandroid [...] bigmir.net
Hi, I am trying to follow instructions from the http://strawberryperl.com/package/kmx/mod_perl/README-512.TXT and cannot download sample scripts (testweb/scripts/hello1.pl, 2 and 3.pl) mentioned in it. I am getting error 500 from the server. Is this a known issue, or am I doing something wrong? -- Thank you, Alex On Mon Jun 21 04:32:34 2010, KMX wrote: Show quoted text
> I have uploaded simple working Apache configuration + simple scripts - > please > check step-by-step scenario at: > http://strawberryperl.com/package/kmx/mod_perl/README-512.TXT > > -- > kmx
Hi Alex,

Show quoted text
> Hi, I am trying to follow instructions from the
> http://strawberryperl.com/package/kmx/mod_perl/README-512.TXT and cannot
> download sample scripts (testweb/scripts/hello1.pl, 2 and 3.pl)
> mentioned in it. I am getting error 500 from the server.

You are right I've got the same "500 Internal Server Error". I have no idea what has changed in strawberryperl.com's webserver configuration (Adam?).

Anyway you can download the whole 'testweb' directory in one pack:
http://strawberryperl.com/package/kmx/mod_perl/5.12_x86/testweb.zip

--
kmx
From: melser_regs [...] gmxpro.net
Hi kmx, I have the basic mod_perl2 installation working after using your guide. However I wanted to use the Apache Module APR::Pool. But when I try to load APR::Pool a messagebox pops up saying that it cannot find "libapr-1.dll". Then interesting thing is that on the command line it says it tries to load "c:/strawberry/perl/site/lib/auto/APR/Pool/Pool.dll" Is it possible for you to include the "Pool.dll" in your release, seems to be another missing dll, or is there any other solution? Best regards, Marc
From: melser_regs [...] gmxpro.net
Hi kmx, Sorry for my first post. Just found that the "pool.dll" exists but I think the Pool.dll itself tries to load "libapr-1.dll", here's the output of the command line: === C:\>perl -we "use APR::Pool;" Can't load 'C:/strawberry/perl/site/lib/auto/APR/Pool/Pool.dll' for module APR:: Pool: load_file:Das angegebene Modul wurde nicht gefunden at C:/strawberry/perl/ lib/XSLoader.pm line 70. at C:/strawberry/perl/site/lib/APR/XSLoader.pm line 31 Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. === any ideas? Thanks a lot Marc
From: melser_regs [...] gmxpro.net
On Wed Apr 27 09:41:56 2011, elsermarc wrote: Hi kmx, The story continues. I solved the problem that "libapr-1.dll" could not be found setting my global "PATH" variable to the "bin" directory of the Apache Server where "libapr-1.dll" resides. Then I can load "APR::Pool" successfully. But now, I'm really lost. I use a perl package called "Apache::SessionManager" which uses the Apache2::Connection object and calls the method "remote_ip" on in. But obviously the Apache2::Connection is broken because it reports the following in the httpd error.log: ==== Wed Apr 27 16:20:31 2011] [notice] Child 5080: Exit event signaled. Child process is ending. [Wed Apr 27 16:21:01 2011] [notice] Parent: Forcing termination of child process 1752 [Wed Apr 27 16:22:00 2011] [notice] Apache/2.2.17 (Win32) mod_apreq2-20090110/2.6.2-dev mod_perl/2.0.4 Perl/v5.12.2 configured -- resuming normal operations [Wed Apr 27 16:22:00 2011] [notice] Server built: Oct 18 2010 01:58:12 [Wed Apr 27 16:22:00 2011] [notice] Parent: Created child process 6544 [Wed Apr 27 16:22:01 2011] [notice] Child 6544: Child process is running [Wed Apr 27 16:22:01 2011] [notice] Child 6544: Acquired the start mutex. [Wed Apr 27 16:22:01 2011] [notice] Child 6544: Starting 250 worker threads. [Wed Apr 27 16:22:01 2011] [notice] Child 6544: Starting thread to listen on port 80. [Wed Apr 27 16:22:06 2011] [error] [client 127.0.0.1] Can't locate object method "remote_ip" via package "Apache2::Connection" at C:/strawberry/perl/site/lib/Apache2/SessionManager.pm line 49.\n, referer: http://localhost/ ==== The line causing this in Session Manager is: my $debug_prefix = '[' . $r->connection->remote_ip . "] SessionManager ($$): "; where $r is the request object from Apache handler and $r->connection returns a Apache2::Connection object (this seems ok until this point), but why does Apache2::Connection report that there is no "remote_ip" method. I looked at the cpan documentation and "remote_ip" should be working. Looking at the "Connection.pm" Object in perl/site/lib/Apache2 also reveals nothing as this is some binary object loaded through XSLoader Any ideas? Best regards, Marc
From: john.deighan [...] gmail.com
I would like to add that mod_perl 2.0.4 is quite old. There is a released mod_perl 2.0.7, and I think an upcoming 2.0.8. We have had real problems with 2.0.4 dying when a connection is closed and I understand that that problem has been fixed with 2.0.7.
Subject: Re: [rt.cpan.org #58512] Suggestion - including mod_perl in strawberry release
Date: Fri, 10 Aug 2012 14:44:49 +0200
To: bug-Perl-Dist-Strawberry [...] rt.cpan.org
From: kmx <kmx [...] volny.cz>
Which perl version (5.14/5.16) are you interested in? and what architecture (32/64bit)? -- kmx
From: john.deighan [...] gmail.com
On Fri Aug 10 08:44:59 2012, kmx@volny.cz wrote: Show quoted text
> Which perl version (5.14/5.16) are you interested in? and what
architecture Show quoted text
> (32/64bit)? > > -- > kmx >
I'm interested in whatever the latest stable releases are. Most important thing is to use mod_perl 2.0.7.