apache24 regression between svn r465240:465461
olli hauer
ohauer at gmx.de
Fri Mar 30 15:02:41 UTC 2018
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
More information about the freebsd-apache
mailing list