Bug 210868 - www/apache24: Option PROXY_HTTP2 enabled needs option PROXY_BALANCER enabled too
Summary: www/apache24: Option PROXY_HTTP2 enabled needs option PROXY_BALANCER enabled too
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-apache mailing list
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2016-07-06 08:10 UTC by M. Macha
Modified: 2016-09-17 19:37 UTC (History)
4 users (show)

See Also:
vlad-fbsd: maintainer-feedback? (apache)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description M. Macha 2016-07-06 08:10:18 UTC
Hi,

The new apache-httpd option "PROXY_HTTP2" needs "PROXY_BALANCER" otherwise the configure will fail. There should be an IGNORE.
 


.if ${PORT_OPTIONS:PROXY_HTTP2} && !${PORT_OPTIONS:PROXY_BALANCER} && ${PORT_OPTIONS:MTLS_SRP}
IGNORE=		PROXY_HTTP2 needs PROXY_BALANCER
.endif




configure:

/bin/mv -v /usr/ports/www/apache24/work/httpd-2.4.23/configure.in /usr/ports/www/apache24/work/httpd-2.4.23/configure.ac
/usr/ports/www/apache24/work/httpd-2.4.23/configure.in -> /usr/ports/www/apache24/work/httpd-2.4.23/configure.ac
configure: loading site script /usr/ports/Templates/config.site
checking for chosen layout... FreeBSD
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/egrep
checking build system type... amd64-portbld-freebsd10.3
checking host system type... amd64-portbld-freebsd10.3
checking target system type... amd64-portbld-freebsd10.3
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... yes
configure: 
configure: Configuring Apache Portable Runtime Utility library...
configure: 
checking for APR-util... yes
  adding "-L/usr/lib" to LDFLAGS
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cpp
checking for cc option to accept ISO C99... none needed
checking for pcre-config... /usr/local/bin/pcre-config
configure: Using external PCRE library from /usr/local/bin/pcre-config
  setting PCRE_INCLUDES to "-I/usr/local/include"
  setting PCRE_LIBS to "-L/usr/local/lib -Wl,-R/usr/local/lib -lpcre"
configure: 
configure: Configuring Apache httpd...
configure: 
  setting INCLUDES to "-I."
  adding "-I$(top_srcdir)/os/$(OS_DIR)" to INCLUDES
  adding "-I$(top_srcdir)/include" to INCLUDES
  adding "-I/usr/local/include/apr-1" to INCLUDES
  adding "-I/usr/local/include" to INCLUDES
  adding "-I/usr/include" to INCLUDES
configure: 
configure: Applying OS-specific hints for httpd...
configure: 
  forcing SINGLE_LISTEN_UNSERIALIZED_ACCEPT to "1"
  forcing AP_NONBLOCK_WHEN_MULTI_LISTEN to "1"
checking for rm... /bin/rm
checking for pkg-config... /usr/local/bin/pkg-config
checking for rsync... /usr/local/bin/rsync
checking for gawk... (cached) /usr/bin/awk
checking whether ln -s works... yes
checking for ranlib... ranlib
checking for lynx... lynx
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for minix/config.h... (cached) no
checking whether it is safe to define __EXTENSIONS__... yes
checking for library containing strerror... none required
checking for APR version 1.3.0 or later... yes
checking for APR-util version 1.3.0 or later... yes
checking for ANSI C header files... (cached) yes
checking for string.h... (cached) yes
checking for limits.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for pwd.h... (cached) yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking for strings.h... (cached) yes
checking sys/prctl.h usability... no
checking sys/prctl.h presence... no
checking for sys/prctl.h... no
checking sys/processor.h usability... no
checking sys/processor.h presence... no
checking for sys/processor.h... no
checking sys/sem.h usability... yes
checking sys/sem.h presence... yes
checking for sys/sem.h... yes
checking sys/sdt.h usability... yes
checking sys/sdt.h presence... yes
checking for sys/sdt.h... yes
checking sys/loadavg.h usability... no
checking sys/loadavg.h presence... no
checking for sys/loadavg.h... no
checking for sys/wait.h that is POSIX.1 compatible... (cached) yes
checking for an ANSI C-conforming const... yes
checking for library containing sqrt... -lm
checking for library containing crypt... -lcrypt
checking for getpwnam... yes
checking for getgrnam... yes
checking for initgroups... yes
checking for bindprocessor... no
checking for prctl... no
checking for timegm... yes
checking for getpgid... (cached) yes
checking for fopen64... no
checking for getloadavg... yes
checking for void pointer length... no
checking for gettid()... no
checking for tm_gmtoff in struct tm... yes
checking whether to enable mod_authn_file... shared
checking whether to enable mod_authn_dbm... no
checking whether to enable mod_authn_anon... shared
checking whether to enable mod_authn_dbd... shared
checking whether to enable mod_authn_socache... shared
checking whether to enable mod_authn_core... shared
checking whether to enable mod_authz_host... shared
checking whether to enable mod_authz_groupfile... shared
checking whether to enable mod_authz_user... shared
checking whether to enable mod_authz_dbm... shared
checking whether to enable mod_authz_owner... shared
checking whether to enable mod_authz_dbd... shared
checking whether to enable mod_authz_core... shared
checking whether to enable mod_authnz_ldap... no
checking whether to enable mod_authnz_fcgi... shared
checking whether to enable mod_access_compat... shared
checking whether to enable mod_auth_basic... shared
checking whether to enable mod_auth_form... shared
checking whether to enable mod_auth_digest... no
checking whether to enable mod_allowmethods... shared
  adding "-I$(top_srcdir)/modules/aaa" to INCLUDES
checking whether to enable mod_isapi... no
checking whether to enable mod_file_cache... shared
checking whether to enable mod_cache... shared
checking whether to enable mod_cache_disk... checking dependencies
checking whether to enable mod_cache_disk... shared
checking whether to enable mod_cache_socache... shared
checking whether to enable mod_socache_shmcb... shared
checking whether to enable mod_socache_dbm... shared
checking whether to enable mod_socache_memcache... shared
checking whether to enable mod_socache_dc... no
  adding "-I$(top_srcdir)/modules/cache" to INCLUDES
  setting HTTPD_LDFLAGS to "-export-dynamic"
checking whether to enable mod_so... static
  setting AP_LIBS to "$(MOD_SO_LDADD)"
checking whether to enable mod_watchdog... checking dependencies
checking whether to enable mod_watchdog... shared
checking whether to enable mod_macro... shared
  adding "-I$(top_srcdir)/modules/core" to INCLUDES
checking whether to enable mod_dbd... shared
  adding "-I$(top_srcdir)/modules/database" to INCLUDES
checking whether to enable mod_bucketeer... no
checking whether to enable mod_dumpio... shared
checking whether to enable mod_echo... no
checking whether to enable mod_example_hooks... no
checking whether to enable mod_case_filter... no
checking whether to enable mod_case_filter_in... no
checking whether to enable mod_example_ipc... no
checking whether to enable mod_buffer... shared
checking whether to enable mod_data... shared
checking whether to enable mod_ratelimit... shared
checking whether to enable mod_reqtimeout... shared
checking whether to enable mod_ext_filter... shared
checking whether to enable mod_request... shared
checking whether to enable mod_include... shared
checking whether to enable mod_filter... shared
checking whether to enable mod_reflector... shared
checking whether to enable mod_substitute... shared
checking whether to enable mod_sed... checking dependencies
  setting MOD_SED_LDADD to "-export-symbols-regex sed_module"
checking whether to enable mod_sed... shared
checking whether to enable mod_charset_lite... shared
checking whether to enable mod_deflate... checking dependencies
checking for zlib location... /usr
  setting LIBS to "-lz"
checking for zlib library... found
  setting MOD_DEFLATE_LDADD to " -lz"
  nulling LIBS
checking whether to enable mod_deflate... shared
checking whether to enable mod_xml2enc... no
checking whether to enable mod_proxy_html... checking dependencies
checking for libxml2... checking for libxml2... yes
  setting MOD_CFLAGS to "-I/usr/local/include/libxml2"
  setting MOD_PROXY_HTML_LDADD to "-lxml2"
checking whether to enable mod_proxy_html... shared
  adding "-I$(top_srcdir)/modules/filters" to INCLUDES
checking whether to enable mod_http... static
  adding "$(MOD_HTTP_LDADD)" to AP_LIBS
checking whether to enable mod_mime... shared
checking whether to enable mod_ldap... no
  adding "-I$(top_srcdir)/modules/ldap" to INCLUDES
checking whether to enable mod_log_config... shared
checking whether to enable mod_log_debug... shared
checking whether to enable mod_log_forensic... shared
  adding "-I$(top_builddir)/server" to INCLUDES
checking whether to enable mod_logio... shared
  adding "-I$(top_srcdir)/modules/loggers" to INCLUDES
checking whether to enable mod_lua... no
  adding "-I$(top_srcdir)/modules/lua" to INCLUDES
checking whether to enable mod_env... shared
checking whether to enable mod_mime_magic... shared
checking whether to enable mod_cern_meta... shared
checking whether to enable mod_expires... shared
checking whether to enable mod_headers... shared
checking whether to enable mod_ident... no
checking whether to enable mod_usertrack... checking dependencies
checking for sys/times.h... (cached) yes
checking for times... yes
checking whether to enable mod_usertrack... shared
checking whether to enable mod_unique_id... shared
checking whether to enable mod_setenvif... shared
checking whether to enable mod_version... shared
checking whether to enable mod_remoteip... shared
checking whether to enable mod_proxy... shared
checking whether to enable mod_proxy_connect... no
checking whether to enable mod_proxy_ftp... no
checking whether to enable mod_proxy_http... checking dependencies
checking whether to enable mod_proxy_http... shared
checking whether to enable mod_proxy_fcgi... checking dependencies
checking whether to enable mod_proxy_fcgi... shared
checking whether to enable mod_proxy_scgi... no
checking whether to enable mod_proxy_fdpass... no
checking whether to enable mod_proxy_wstunnel... no
checking whether to enable mod_proxy_ajp... no
checking whether to enable mod_proxy_balancer... no
checking whether to enable mod_proxy_express... no
checking whether to enable mod_proxy_hcheck... checking dependencies
checking whether to enable mod_proxy_hcheck... shared
  adding "-I$(top_srcdir)/modules/proxy" to INCLUDES
checking whether to enable mod_session... shared
checking whether to enable mod_session_cookie... checking dependencies
checking whether to enable mod_session_cookie... shared
checking whether to enable mod_session_crypto... checking dependencies
checking whether to enable mod_session_crypto... shared
checking whether to enable mod_session_dbd... checking dependencies
checking whether to enable mod_session_dbd... shared
  adding "-I$(top_srcdir)/modules/session" to INCLUDES
checking whether to enable mod_slotmem_shm... shared
checking whether to enable mod_slotmem_plain... shared
checking whether to enable mod_ssl... checking dependencies
checking for OpenSSL... checking for user-provided OpenSSL base directory... /usr/local
  adding "-I/usr/local/include" to CPPFLAGS
  setting MOD_CFLAGS to "-I/usr/local/include  "
  setting ab_CFLAGS to "-I/usr/local/include  "
  setting MOD_LDFLAGS to "-L/usr/local/lib  "
checking for OpenSSL version >= 0.9.8a... OK
  adding "-lssl" to MOD_LDFLAGS
  adding "-lcrypto" to MOD_LDFLAGS
  adding "-lcrypt" to MOD_LDFLAGS
  adding "-lpthread" to MOD_LDFLAGS
  setting LIBS to "-lssl -lcrypto    -lcrypt  -lpthread"
  forcing ab_LDFLAGS to "-L/usr/local/lib   -lssl -lcrypto -lcrypt -lpthread"
checking openssl/engine.h usability... yes
checking openssl/engine.h presence... yes
checking for openssl/engine.h... yes
checking for SSLeay_version... yes
checking for SSL_CTX_new... yes
checking for ENGINE_init... yes
checking for ENGINE_load_builtin_engines... yes
checking for RAND_egd... yes
yes
  setting MOD_SSL_LDADD to "-export-symbols-regex ssl_module"
checking whether to enable mod_ssl... shared
  adding "-I$(top_srcdir)/modules/ssl" to INCLUDES
checking whether to enable mod_optional_hook_export... no
checking whether to enable mod_optional_hook_import... no
checking whether to enable mod_optional_fn_import... no
checking whether to enable mod_optional_fn_export... no
checking whether to enable mod_dialup... shared
  adding "-I$(top_srcdir)/modules/test" to INCLUDES
checking for target platform... unix
checking for rlim_t... yes
checking for sys/time.h... (cached) yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking for sys/sem.h... (cached) yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking for setsid... (cached) yes
checking for killpg... yes
checking bstring.h usability... no
checking bstring.h presence... no
checking for bstring.h... no
checking for unistd.h... (cached) yes
checking for syslog... yes
checking for sys/times.h... (cached) yes
checking for times... (cached) yes
  adding "-I$(top_srcdir)/server" to INCLUDES
checking whether APR supports thread-safe pollsets... checking for kqueue... yes
checking for port_create... no
checking for epoll_create... no
yes
checking if event MPM supports this platform... yes
checking if mpmt_os2 MPM supports this platform... no
checking if prefork MPM supports this platform... yes
checking if WinNT MPM supports this platform... no
checking if worker MPM supports this platform... yes
checking whether to enable mod_http2... checking dependencies
checking for OpenSSL... (cached) yes
  setting MOD_LDFLAGS to "-L/usr/local/lib   -lssl -lcrypto -lcrypt -lpthread"
  setting MOD_CFLAGS to "-I/usr/local/include  "
  setting MOD_CPPFLAGS to "-DH2_OPENSSL"
checking for nghttp2... checking for user-provided nghttp2 base directory... /usr/local
checking for pkg-config along ...   adding "-I/usr/local/include" to CPPFLAGS
checking for nghttp2 version >= 1.2.1... OK
  adding "-lnghttp2" to MOD_LDFLAGS
  setting LIBS to "-lnghttp2    -lcrypt  -lpthread"
checking nghttp2/nghttp2.h usability... yes
checking nghttp2/nghttp2.h presence... yes
checking for nghttp2/nghttp2.h... yes
checking for nghttp2_session_server_new2... yes
checking for nghttp2_stream_get_weight... yes
checking for nghttp2_session_change_stream_priority... yes
  adding "-DH2_NG2_CHANGE_PRIO" to MOD_CPPFLAGS
yes
  setting MOD_HTTP2_LDADD to "-export-symbols-regex http2_module"
checking whether to enable mod_http2... shared
checking whether to enable mod_proxy_http2... checking dependencies
checking for nghttp2... (cached) yes
  setting MOD_PROXY_HTTP2_LDADD to "-export-symbols-regex proxy_http2_module"
checking whether to enable mod_proxy_http2... shared
checking whether to enable mod_lbmethod_byrequests... checking dependencies
configure: WARNING: "mod_proxy_balancer is disabled but required for mod_lbmethod_byrequests"
checking whether to enable mod_lbmethod_byrequests... configure: error: mod_lbmethod_byrequests has been requested but can not be built due to prerequisite failures
===>  Script "configure" failed unexpectedly.
Please report the problem to apache@FreeBSD.org [maintainer] and attach the
"/usr/ports/www/apache24/work/httpd-2.4.23/config.log" including the output
of the failure of your make command. Also, it might be a good idea to provide
an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/apache24
*** Error code 1
Comment 1 Walter Schwarzenfeld freebsd_triage 2016-07-06 10:59:46 UTC
There is an option PROXY_BALANCER.
Comment 2 Walter Schwarzenfeld freebsd_triage 2016-07-06 11:10:07 UTC
I have it to ON and it compiles without problems.
Comment 3 Walter Schwarzenfeld freebsd_triage 2016-07-06 11:17:43 UTC
Sorry, misunderstood your post. You mean if it is set to off.
Comment 4 M. Macha 2016-07-06 15:36:14 UTC
Copy&Past mistake

FIX: 

.if ${PORT_OPTIONS:PROXY_HTTP2} && !${PORT_OPTIONS:PROXY_BALANCER}
IGNORE=		PROXY_HTTP2 needs PROXY_BALANCER
.endif
Comment 5 commit-hook freebsd_committer 2016-09-17 19:36:12 UTC
A commit references this bug:

Author: ohauer
Date: Sat Sep 17 19:35:49 UTC 2016
New revision: 422343
URL: https://svnweb.freebsd.org/changeset/ports/422343

Log:
  - mod_proxy_http2 requires mod_proxy_balancer

  No PORTREVISION bump
   defaults: PROXY_BALANCER=on PROXY_HTTP2=off

  PR:		210868
  Submitted by:	M. Macha

Changes:
  head/www/apache24/Makefile.modules
Comment 6 Olli Hauer freebsd_committer 2016-09-17 19:37:22 UTC
Thanks for the report, the port was updated with your findings.