You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Philippe M. Chiasson" <go...@ectoplasm.org> on 2007/12/22 08:36:53 UTC

RELEASE CANDIDATE] mod_perl-1.31 RC1

The mod_perl 1.31 release candidate "Works with Perl 5.10" is ready. It can be downloaded here:

http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz

MD5:  7cda8676120ff6654bcbe923a2ff5747
SHA1: d8d2d4ad36d134a098601083ed4826664bb8a6cf

The summary of what has changed since 1.30 are (from Changes):

Avoid possible segfault when PerlFreshRestart is On.
[Michael Rendell <mi...@cs.mun.ca>]

Fix shared libary extensions on Win32 to be .dll not .so
[Nikolay Ananiev <an...@thegdb.com>]

Patch to mod_perl.dsp to remove /D _WINSOCK2API_ on Win32
for perl >= 5.8.6 [Steve Hay]

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.

Andreas J. Koenig wrote:
>>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
> 
>   > http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz
> 
> Wow, what a fast release, thanks!
> 
> But sorry, nope, it doesn't work on my linux box.

Sorry to hear that.

> The apache Configure on my box sets my LIBEXT to "a" which is indeed
> what I always wanted to have. So the rules for "so" were correct as
> they were written and I do not know if they ever were invoked. The
> result of the 1.31 build is that the httpsd in the end is only 0.5 MB
> instead of 1.7 MB and it doesn't start either.
> 
> I'm unable to tell what exactly needs fixing. Does my description help?


Yes, but I'd like to try reproducing this myself.

Can you tell me:

$> perl -V:config_args

As well as the version of httpd you are trying against, as well as how
it was built/configured.

Same thing for mod_perl.

Getting the exact argument you used to build/configure these might allow
me to reproduce, and hopefully, to fix as well.

Thanks.

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Andreas J. Koenig" <an...@franz.ak.mind.de>.
>>>>> On Sun, 23 Dec 2007 14:35:51 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:

  > Oh, are you trying to build mod_perl statically ?

Yes, I've always built it statically. I thought that is the default on linux.

 >>>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:

  > Yes, but I'd like to try reproducing this myself.

  > Can you tell me:

  > $> perl -V:config_args

config_args='-Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Dprefix=/usr/local/perl-5.10.0 -Duse64bitint'

The usedevel bit has no significance for stable/released perls, I just
have it always there.

  > As well as the version of httpd you are trying against, as well as how
  > it was built/configured.

1.3.39 with BenSSL (apache_1.3.37+ssl_1.57.tar.gz). I did not
configure anything myself and let it be built by mod_perl. The BenSSL
part is just an extra hurdle that you can avoid for sure.

  > Same thing for mod_perl.

    - EVERYTHING=1
    - USE_APACI=1
    - APACHE_PREFIX=/usr/local/apache-1.3.39
    - APACI_ARGS=--enable-module=info,--enable-module=status
    - APACHE_SRC=/home/src/apache_1.3.39/src
    - APACHE_SRC_DEFAULT=/home/src/apache_1.3.39/src
    - DO_HTTPD=1

  > Getting the exact argument you used to build/configure these might allow
  > me to reproduce, and hopefully, to fix as well.

Let me know if you need more or if you need a login.

-- 
andreas

Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.

Andreas J. Koenig wrote:
>>>>>> On Sat, 22 Dec 2007 13:52:26 +0100, andreas.koenig.7os6VVqR@franz.ak.mind.de (Andreas J. Koenig) said:
> 
>>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
>  >> http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz
> 
>   > The apache Configure on my box sets my LIBEXT to "a" which is indeed
>   > what I always wanted to have. So the rules for "so" were correct as
>   > they were written and I do not know if they ever were invoked. The
>   > result of the 1.31 build is that the httpsd in the end is only 0.5 MB
>   > instead of 1.7 MB and it doesn't start either.
> 
> Sorry, I forgot this interesting make error message:
> 
> Makefile:141: warning: overriding commands for target `libperl.a'
> Makefile:136: warning: ignoring old commands for target `libperl.a'
> 
> This is the content of the Makefile (maybe something is off by one,
> but the point is that LIBEXT=a leads to a duplicate rule and the wrong
> rule wins.
> 
>     135 libperl.a: $(MP_OBJS)
>     136         $(MP_RM) $@
>     137         $(MP_AR) crv $@ $(MP_OBJS)
>     138         $(MP_RANLIB) $@
>     139 
>     140 libperl.$(LIBEXT): $(MP_OBJS_PIC)
>     141         $(MP_RM) $@
>     142         $(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS)
>     143

And that means trouble indeed. Could be caused by a different version of
ExtUtils::MakeMaker...

The funny thing is that it builds just fine for me.

Oh, are you trying to build mod_perl statically ?

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.
Andreas J. Koenig wrote:
>>>>>> On Tue, 25 Dec 2007 10:47:48 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
> [...]
> 
> From what I can see in the code it can only be "so" but I wonder why I
> do not see it expanded in any file. In my apache directory I grep
> recursively:
> 
> # grep -r MP_LIBEXT .                
> ./src/modules/perl/Makefile.tmpl:libperl.$(MP_LIBEXT): $(MP_OBJS_PIC)
> ./src/modules/perl/Makefile.tmpl:       $(APXS) -i -a -n perl libperl.$(MP_LIBEXT)
> ./src/modules/perl/configure:echo "MP_LIBEXT=$my_soext" >>$my_makefileconf
> ./src/modules/perl/Makefile:libperl.$(MP_LIBEXT): $(MP_OBJS_PIC)
> ./src/modules/perl/Makefile:    $(APXS) -i -a -n perl libperl.$(MP_LIBEXT)

grep -R MP_LIBEXT [httpd-src]/src/modules/perl

> I get the impression that src/modules/perl/configure is not being run
> for whatever reason.
> 
> Let me know if I can try further things out.

Look in the httpd source, these files end up copied over into the httpd
tree and stuff is being run from there.

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Andreas J. Koenig" <an...@franz.ak.mind.de>.
>>>>> On Tue, 25 Dec 2007 10:47:48 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:

  > Andreas J. Koenig wrote:
 >>>>>>> On Mon, 24 Dec 2007 15:07:20 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
 >> 
 >> >> I then changed directory to apache.../src/modules/perl/ and did a
 >> >> 'make libperl.a', which did compile one for me. Then I switched back
 >> >> to mod_perl directory and retried a 'make' and indeed this finished
 >> >> without error.
 >> 
 >> > Most likely caused by not having done
 >> 
 >> > $> make clean
 >> 
 >> > before trying again. When not doing that, src/modules/perl under apache/src
 >> > will not be correctly re-generated.
 >> 
 >> Nope, it's really some fight between Linux and Cygwin for the right of
 >> way. 

  > Are you building this on Windows/Cygwin then ?

No, I'm building on Linux. The thing that seems to have broken the
linux gears is related to a patch that turns "so" into "dll" for
cygwin but at the same time conflicts with linux' use of the LIBEXT
macro which establishes a dependency on libperl.a. Your second attempt
then removed the conflict but at the same time removed the dependency
on the libperl.a completely. So then I had a libperl.a rule that was
never invoked because the dependency was gone. My last patch "fixes"
that for linux but makes no sense to you:-(

 >> I can make it work with this one line change but I don't know how
 >> much of your expectations are undermined by it:
 >> 
 >> --- apaci/Makefile.tmpl~        2007-12-25 05:28:23.448665692 +0100
 >> +++ apaci/Makefile.tmpl 2007-12-25 05:28:36.567058818 +0100
 >> @@ -37,7 +37,7 @@
 >> ##
 >> 
 >> #   the library to build
 >> -MP_LIB=libperl.$(MP_LIBEXT)
 >> +MP_LIB=libperl.$(LIBEXT)
 >> 
 >> #   the objects to use
 >> MP_OBJS=\
 >> 
 >> 
 >> Makes any sense?

  > Not much sense, no...

  > In your case, what does MP_LIBEXT end up being ?

>From what I can see in the code it can only be "so" but I wonder why I
do not see it expanded in any file. In my apache directory I grep
recursively:

# grep -r MP_LIBEXT .                
./src/modules/perl/Makefile.tmpl:libperl.$(MP_LIBEXT): $(MP_OBJS_PIC)
./src/modules/perl/Makefile.tmpl:       $(APXS) -i -a -n perl libperl.$(MP_LIBEXT)
./src/modules/perl/configure:echo "MP_LIBEXT=$my_soext" >>$my_makefileconf
./src/modules/perl/Makefile:libperl.$(MP_LIBEXT): $(MP_OBJS_PIC)
./src/modules/perl/Makefile:    $(APXS) -i -a -n perl libperl.$(MP_LIBEXT)

I get the impression that src/modules/perl/configure is not being run
for whatever reason.

Let me know if I can try further things out.

-- 
andreas

Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.
Andreas J. Koenig wrote:
>>>>>> On Mon, 24 Dec 2007 15:07:20 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
> 
>  >> I then changed directory to apache.../src/modules/perl/ and did a
>  >> 'make libperl.a', which did compile one for me. Then I switched back
>  >> to mod_perl directory and retried a 'make' and indeed this finished
>  >> without error.
> 
>   > Most likely caused by not having done
> 
>   > $> make clean
> 
>   > before trying again. When not doing that, src/modules/perl under apache/src
>   > will not be correctly re-generated.
> 
> Nope, it's really some fight between Linux and Cygwin for the right of
> way. 

Are you building this on Windows/Cygwin then ?

> I can make it work with this one line change but I don't know how
> much of your expectations are undermined by it:
> 
> --- apaci/Makefile.tmpl~        2007-12-25 05:28:23.448665692 +0100
> +++ apaci/Makefile.tmpl 2007-12-25 05:28:36.567058818 +0100
> @@ -37,7 +37,7 @@
>  ##
>  
>  #   the library to build
> -MP_LIB=libperl.$(MP_LIBEXT)
> +MP_LIB=libperl.$(LIBEXT)
>  
>  #   the objects to use
>  MP_OBJS=\
> 
> 
> Makes any sense?

Not much sense, no...

In your case, what does MP_LIBEXT end up being ?

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Andreas J. Koenig" <an...@franz.ak.mind.de>.
>>>>> On Mon, 24 Dec 2007 15:07:20 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:

 >> I then changed directory to apache.../src/modules/perl/ and did a
 >> 'make libperl.a', which did compile one for me. Then I switched back
 >> to mod_perl directory and retried a 'make' and indeed this finished
 >> without error.

  > Most likely caused by not having done

  > $> make clean

  > before trying again. When not doing that, src/modules/perl under apache/src
  > will not be correctly re-generated.

Nope, it's really some fight between Linux and Cygwin for the right of
way. I can make it work with this one line change but I don't know how
much of your expectations are undermined by it:

--- apaci/Makefile.tmpl~        2007-12-25 05:28:23.448665692 +0100
+++ apaci/Makefile.tmpl 2007-12-25 05:28:36.567058818 +0100
@@ -37,7 +37,7 @@
 ##
 
 #   the library to build
-MP_LIB=libperl.$(MP_LIBEXT)
+MP_LIB=libperl.$(LIBEXT)
 
 #   the objects to use
 MP_OBJS=\


Makes any sense?

-- 
andreas

Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.
Andreas J. Koenig wrote:
>>>>>> On Mon, 24 Dec 2007 13:12:05 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
> 
>   > Looks like it was caused by httpd's own stuff defining LIBEXT and clobbering
>   > our own. Can you try the attached patch ?
> 
> Maybe I'm too tired right now, but on the first try it did again not work, saying
> 
>   cc: modules/perl/libperl.a: No such file or directory
>   make[3]: *** [target_static] Error 1
>   make[3]: Leaving directory `/home/src/apache_1.3.39/src'
>   make[2]: *** [build-std] Error 2
>   make[2]: Leaving directory `/home/src/apache_1.3.39'
>   make[1]: *** [build] Error 2
>   make[1]: Leaving directory `/home/src/apache_1.3.39'
>   make: *** [apaci_httpd] Error 2
> 
> I then changed directory to apache.../src/modules/perl/ and did a
> 'make libperl.a', which did compile one for me. Then I switched back
> to mod_perl directory and retried a 'make' and indeed this finished
> without error.

Most likely caused by not having done

$> make clean

before trying again. When not doing that, src/modules/perl under apache/src
will not be correctly re-generated.

> I'll retry tomorrow if I did something stupid. Let me know if this
> rings a bell for you.

Cool.

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Andreas J. Koenig" <an...@franz.ak.mind.de>.
>>>>> On Mon, 24 Dec 2007 13:12:05 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:

  > Looks like it was caused by httpd's own stuff defining LIBEXT and clobbering
  > our own. Can you try the attached patch ?

Maybe I'm too tired right now, but on the first try it did again not work, saying

  cc: modules/perl/libperl.a: No such file or directory
  make[3]: *** [target_static] Error 1
  make[3]: Leaving directory `/home/src/apache_1.3.39/src'
  make[2]: *** [build-std] Error 2
  make[2]: Leaving directory `/home/src/apache_1.3.39'
  make[1]: *** [build] Error 2
  make[1]: Leaving directory `/home/src/apache_1.3.39'
  make: *** [apaci_httpd] Error 2

I then changed directory to apache.../src/modules/perl/ and did a
'make libperl.a', which did compile one for me. Then I switched back
to mod_perl directory and retried a 'make' and indeed this finished
without error.

I'll retry tomorrow if I did something stupid. Let me know if this
rings a bell for you.

Good night,
-- 
andreas

Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.

Andreas J. Koenig wrote:
>>>>>> On Sat, 22 Dec 2007 13:52:26 +0100, andreas.koenig.7os6VVqR@franz.ak.mind.de (Andreas J. Koenig) said:
> 
>>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
>  >> http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz
> 
>   > The apache Configure on my box sets my LIBEXT to "a" which is indeed
>   > what I always wanted to have. So the rules for "so" were correct as
>   > they were written and I do not know if they ever were invoked. The
>   > result of the 1.31 build is that the httpsd in the end is only 0.5 MB
>   > instead of 1.7 MB and it doesn't start either.
> 
> Sorry, I forgot this interesting make error message:
> 
> Makefile:141: warning: overriding commands for target `libperl.a'
> Makefile:136: warning: ignoring old commands for target `libperl.a'
> 
> This is the content of the Makefile (maybe something is off by one,
> but the point is that LIBEXT=a leads to a duplicate rule and the wrong
> rule wins.
> 
>     135 libperl.a: $(MP_OBJS)
>     136         $(MP_RM) $@
>     137         $(MP_AR) crv $@ $(MP_OBJS)
>     138         $(MP_RANLIB) $@
>     139 
>     140 libperl.$(LIBEXT): $(MP_OBJS_PIC)
>     141         $(MP_RM) $@
>     142         $(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS)
>     143

Looks like it was caused by httpd's own stuff defining LIBEXT and clobbering
our own. Can you try the attached patch ?

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/

Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Philippe M. Chiasson" <go...@ectoplasm.org>.

Andreas J. Koenig wrote:
>>>>>> On Sat, 22 Dec 2007 13:52:26 +0100, andreas.koenig.7os6VVqR@franz.ak.mind.de (Andreas J. Koenig) said:
> 
>>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
>  >> http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz
> 
>   > The apache Configure on my box sets my LIBEXT to "a" which is indeed
>   > what I always wanted to have. So the rules for "so" were correct as
>   > they were written and I do not know if they ever were invoked. The
>   > result of the 1.31 build is that the httpsd in the end is only 0.5 MB
>   > instead of 1.7 MB and it doesn't start either.
> 
> Sorry, I forgot this interesting make error message:
> 
> Makefile:141: warning: overriding commands for target `libperl.a'
> Makefile:136: warning: ignoring old commands for target `libperl.a'
> 
> This is the content of the Makefile (maybe something is off by one,
> but the point is that LIBEXT=a leads to a duplicate rule and the wrong
> rule wins.
> 
>     135 libperl.a: $(MP_OBJS)
>     136         $(MP_RM) $@
>     137         $(MP_AR) crv $@ $(MP_OBJS)
>     138         $(MP_RANLIB) $@
>     139 
>     140 libperl.$(LIBEXT): $(MP_OBJS_PIC)
>     141         $(MP_RM) $@
>     142         $(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS)
>     143

And that means trouble indeed. Could be caused by a different version of
ExtUtils::MakeMaker...

The funny thing is that it builds just fine for me.

Oh, are you trying to build mod_perl statically ?

-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Andreas J. Koenig" <an...@franz.ak.mind.de>.
>>>>> On Sat, 22 Dec 2007 13:52:26 +0100, andreas.koenig.7os6VVqR@franz.ak.mind.de (Andreas J. Koenig) said:

>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:
 >> http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz

  > The apache Configure on my box sets my LIBEXT to "a" which is indeed
  > what I always wanted to have. So the rules for "so" were correct as
  > they were written and I do not know if they ever were invoked. The
  > result of the 1.31 build is that the httpsd in the end is only 0.5 MB
  > instead of 1.7 MB and it doesn't start either.

Sorry, I forgot this interesting make error message:

Makefile:141: warning: overriding commands for target `libperl.a'
Makefile:136: warning: ignoring old commands for target `libperl.a'

This is the content of the Makefile (maybe something is off by one,
but the point is that LIBEXT=a leads to a duplicate rule and the wrong
rule wins.

    135 libperl.a: $(MP_OBJS)
    136         $(MP_RM) $@
    137         $(MP_AR) crv $@ $(MP_OBJS)
    138         $(MP_RANLIB) $@
    139 
    140 libperl.$(LIBEXT): $(MP_OBJS_PIC)
    141         $(MP_RM) $@
    142         $(MP_LD) $(MP_LDFLAGS_SHLIB) -o $@ $(MP_OBJS_PIC) $(MP_LIBS)
    143



-- 
andreas

Re: RELEASE CANDIDATE] mod_perl-1.31 RC1

Posted by "Andreas J. Koenig" <an...@franz.ak.mind.de>.
>>>>> On Fri, 21 Dec 2007 23:36:53 -0800, "Philippe M. Chiasson" <go...@ectoplasm.org> said:

  > http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc1.tar.gz

Wow, what a fast release, thanks!

But sorry, nope, it doesn't work on my linux box.

The apache Configure on my box sets my LIBEXT to "a" which is indeed
what I always wanted to have. So the rules for "so" were correct as
they were written and I do not know if they ever were invoked. The
result of the 1.31 build is that the httpsd in the end is only 0.5 MB
instead of 1.7 MB and it doesn't start either.

I'm unable to tell what exactly needs fixing. Does my description help?

-- 
andreas