Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: ModPerl

trying to compile mod_perl against httpd-2.4.1

 

 

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded


bmillett at gmail

Feb 21, 2012, 11:49 AM

Post #1 of 3 (1374 views)
Permalink
trying to compile mod_perl against httpd-2.4.1

Well, its a no go, even after checking out the latest SVN code,

Problem is the ‘conn_rec’ structure has changed. It no longer has 'remote_ip'
defined in it.


[bpm]$ make
cd "src/modules/perl" && make
make[1]: Entering directory
`/home/bpm/src/apache/mod_perl-2.0/src/modules/perl' gcc
-I/home/bpm/src/apache/mod_perl-2.0/src/modules/perl
-I/home/bpm/src/apache/mod_perl-2.0/xs -I/usr/include/apr-1
-I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include -I/usr/lib64/perl5/CORE -DMOD_PERL
-DMP_COMPAT_1X -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC \ -c
modperl_interp.c && mv modperl_interp.o modperl_interp.lo modperl_interp.c: In
function ‘modperl_interp_select’: modperl_interp.c:503:35: error: ‘conn_rec’
has no member named ‘remote_ip’ make[1]: *** [modperl_interp.lo] Error 1
make[1]: Leaving directory
`/home/bpm/src/apache/mod_perl-2.0/src/modules/perl' make: *** [modperl_lib]
Error 2


Did see the following in the httpd-2.4.1 src, httpd-2.4.1/include/ap_mmn.h
that seems to be a major API change.

* 20111130.0 (2.4.0-dev) c->remote_ip becomes c->peer_ip and r->client_ip,
* c->remote_addr becomes c->peer_addr and
r->client_addr

I guess I'm asking is anyone has made any progress with mod_perl with the new
httpd 2.4 ??
--
Brian Millett
"We used to have them back home long ago. They use science to achieve the
effect of magic. I haven't seen one in years. They almost never travel.
They don't like to leave their places of power. To see even one of them
is a rare thing. To see more than one at a time is considered a very
bad omen."
[3 mages walk by]
"Three...this is definitely not good."
-- [ Londo (re: technomages), "The Geometry of Shadows"]


fred at redhotpenguin

Feb 21, 2012, 11:55 AM

Post #2 of 3 (1348 views)
Permalink
Re: trying to compile mod_perl against httpd-2.4.1 [In reply to]

Thanks for the spot. We're rolling rc3 for 2.0.6 right now, I have
cc'd the dev list about this issue. I may have some tuits to look at
this, but am guessing someone else will fix it more quickly.

On Tue, Feb 21, 2012 at 11:49 AM, Brian Millett <bmillett [at] gmail> wrote:
> Well, its a no go, even after checking out the latest SVN code,
>
> Problem is the ‘conn_rec’ structure has changed.  It no longer has 'remote_ip'
> defined in it.
>
>
> [bpm]$ make
> cd "src/modules/perl" && make
> make[1]: Entering directory
> `/home/bpm/src/apache/mod_perl-2.0/src/modules/perl' gcc
> -I/home/bpm/src/apache/mod_perl-2.0/src/modules/perl
> -I/home/bpm/src/apache/mod_perl-2.0/xs -I/usr/include/apr-1
> -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
> -fstack-protector -I/usr/local/include -I/usr/lib64/perl5/CORE -DMOD_PERL
> -DMP_COMPAT_1X -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC \ -c
> modperl_interp.c && mv modperl_interp.o modperl_interp.lo modperl_interp.c: In
> function ‘modperl_interp_select’: modperl_interp.c:503:35: error: ‘conn_rec’
> has no member named ‘remote_ip’ make[1]: *** [modperl_interp.lo] Error 1
> make[1]: Leaving directory
> `/home/bpm/src/apache/mod_perl-2.0/src/modules/perl' make: *** [modperl_lib]
> Error 2
>
>
> Did see the following in the httpd-2.4.1 src, httpd-2.4.1/include/ap_mmn.h
> that seems to be a major API change.
>
> * 20111130.0 (2.4.0-dev)  c->remote_ip becomes c->peer_ip and r->client_ip,
> *                         c->remote_addr becomes c->peer_addr and
>  r->client_addr
>
> I guess I'm asking is anyone has made any progress with mod_perl with the new
> httpd 2.4 ??
> --
> Brian Millett
> "We used to have them back home long ago. They use science to achieve the
>  effect of magic. I haven't seen one in years. They almost never travel.
>  They don't like to leave their places of power. To see even one of them
>  is a rare thing. To see more than one at a time is considered a very
>  bad omen."
> [3 mages walk by]
> "Three...this is definitely not good."
>           -- [ Londo (re: technomages), "The Geometry of Shadows"]


torsten.foertsch at gmx

Feb 22, 2012, 4:37 AM

Post #3 of 3 (1336 views)
Permalink
Re: trying to compile mod_perl against httpd-2.4.1 [In reply to]

On Tuesday, 21 February 2012 13:49:41 Brian Millett wrote:
> I guess I'm asking is anyone has made any progress with mod_perl with the
> new httpd 2.4 ??

There is quite a lot that has changed in httpd from 2.2 to 2.4. Last summer I
have worked on porting modperl a bit. The result is available at

http://svn.apache.org/repos/asf/perl/modperl/branches/httpd24/

for everyone who wants to take it further.

The current state is as follows (at least with the httpd 2.3.14 or 2.3.15 of
last summer):

- it compiles
- the test suite failures you'll see are expected. They are caused by API
changes on the httpd side. It should not segfault (tested only with
prefork).
- things that have to be ported are mainly
* the AAA-related parts of request_rec are gone.
* the AAA hooks are replaced by a provider oriented interface
* the new logging architecture

As for AAA we have to decide if we want to implement a compatibility layer (if
possible) or if we want to support only the new way.

Support of the new, per-module way of logging is more optional. It would be
nice to be able to have per-module loglevels also for httpd modules written in
Perl. Although the AAA stuff is far more important the loglevel stuff seems to
be easier and a low hanging fruit even for a someone less experienced in
modperl coding (with some guidance).

So, that's more or less the current state. You are encouraged to participate
and submit patches.

Unfortunately, last year generated quite a lot of work. There was perl 5.14
with a few incompatible changes and the upcoming httpd 2.4. Not to forget the
transition from LWP 5.x to LWP 6.x which our test-suite is based upon. And
developer time is a scarce resource since none of us is paid for it (at least
I am not). If someone wants to invest money please do. I'd rather work to
improve modperl for say 75-80% of my normal rate.

As for my personal topic ranking after 2.0.6 release, first thing is the merge
of the threading branch into trunk. In combination with that I'd like to make
sure the current perl context is set to NULL when modperl is not working at
something perl-specific if MP_DEBUG is set. The runtime part of this is done,
I think. Then I'd like to launch a raid on pieces of code like

if(...) {
/* should not happen */
return NULL;
}

and replace them with MP_ASSERT. Then perhaps comes the PerlInterpInitHandler,
PerlInterpExitHandler stuff or the httpd 2.4 port. I also like the
"PerlDeclareInterp fritz ... <perl interp="fritz">...</perl> ... PerlUseInterp
fritz" idea. If anybody wants to participate don't hesitate.

Torsten Förtsch

--
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net

ModPerl modperl RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.