Date: Fri, 30 Mar 2018 17:56:19 +0200 From: Spil Oss <spil.oss@gmail.com> To: olli hauer <ohauer@gmx.de> Cc: "apache@FreeBSD.org" <apache@freebsd.org> Subject: Re: apache24 regression between svn r465240:465461 Message-ID: <CAEJyAvNnA2D8ANQCxEoxg7jKTnHMQHimOiQX0mGVVEOQDr=cGQ@mail.gmail.com> In-Reply-To: <1659d22a-0e5e-1dbf-5cd0-ec39d7bb3e55@gmx.de> References: <1659d22a-0e5e-1dbf-5cd0-ec39d7bb3e55@gmx.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Olli, Good find! I'm trying to figure out the mechanics of the `session' problem. In line we force the session module to be enabled when one of the `session_*` modules is enabled. How does it still not have that module when building? In my local tree I've added the =shared as this is a regression between existing and new building methods. As far as I know, static binaries are not preferred on FreeBSD. I've yet to see reports of people wanting it back, but that can still come. The =shared does appear in the install.html file. There's already 2 PR's for the _MODULES error we trigger from apache.mk... So we've actually duplicated the enabling of modules between apache.mk and the 2.4 port. Not pretty. As you've probably seen the 2.2 port is up for removal shortly. After we finish that I'll clean up the apache.mk file. Anyone have thoughts on having server build framework bits in Mk/Uses/apache.mk? With OptionsNG I believe the regular way of porting using Makefile moving parts to apache.mk doesn't reduce the Makefile significantly. There's an apache25-devel port in preparation, which is very similar to the 2.4 one. Cheers, Bernard. 2018-03-30 17:04 GMT+02:00 olli hauer <ohauer@gmx.de>: > Seems there is a regression in the apache24 port between svn r465240:465461 > > With the change in Makfile.options from ALL_MODULES_CATEGORIES to ALL_MODULES > it is no longer possible to build static modules since the code in Mk/Uses/apache.mk > is no longer honored. > > That's the part in apache.mk > > .for category in ${ALL_MODULES_CATEGORIES} > AVAILABLE_MODULES+= ${${category}_MODULES} > .endfor > ... > .for module in ${AVAILABLE_MODULES} > . if !empty(WITH_STATIC_MODULES:M${module}) > CONFIGURE_ARGS+= --enable-${module:tl}=static > PLIST_SUB+= MOD_${module}="@comment " > . elif !empty(APACHE_MODULES:M${module}) > CONFIGURE_ARGS+= --enable-${module:tl}=shared > PLIST_SUB+= MOD_${module}="" > . else > CONFIGURE_ARGS+= --disable-${module:tl} > PLIST_SUB+= MOD_${module}="@comment " > . endif > .endfor > > > that was replaced with this simpler part in the ports Makefile > > .for module in ${ALL_MODULES} > .if ${PORT_OPTIONS:M${module}} > CONFIGURE_ARGS+= --enable-${module:S/_/-/g:tl} > .else > CONFIGURE_ARGS+= --disable-${module:S/_/-/g:tl} > .endif > .endfor > > > That's OK, after the removal of apache22 large (server) parts of apache.mk > can be removed if we do not support static modules any longer. > > But there is another regression that will be noticed only with the original > apache24 httpd.conf the first time apache24 starts. > > httpd: Syntax error on line 143 of /usr/local/etc/apache24/httpd.conf: > Cannot load libexec/apache24/mod_session_cookie.so into server: > /usr/local/libexec/apache24/mod_session_cookie.so: Undefined symbol "ap_hook_session_save" > > > This error message has is the result of three modules (session_cookie_module, > session_crypto_module and session_dbd_module) that are enabled in httpd.conf > without enabling session_module. > > > One easy fix (dynamic modules only) could be: > > Index: apache24/Makefile > =================================================================== > --- apache24/Makefile (revision 465976) > +++ apache24/Makefile (working copy) > @@ -132,7 +132,7 @@ > > .for module in ${ALL_MODULES} > .if ${PORT_OPTIONS:M${module}} > -CONFIGURE_ARGS+= --enable-${module:S/_/-/g:tl} > +CONFIGURE_ARGS+= --enable-${module:S/_/-/g:tl}=shared > .else > CONFIGURE_ARGS+= --disable-${module:S/_/-/g:tl} > .endif > > > The difference can be shown without installing apache by comparing httpd.conf.sample in the stage dir with and without the small patch. > > I know ./configure ---help does not show the usage of --enable-$module=(shared|static|yes), but this hint can be found in acinclude.m4 and as I remember in older apache versions > > > -- > olli > _______________________________________________ > freebsd-apache@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-apache > To unsubscribe, send any mail to "freebsd-apache-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAEJyAvNnA2D8ANQCxEoxg7jKTnHMQHimOiQX0mGVVEOQDr=cGQ>