[Buildroot] [PATCH 1/1] package/dhcp: use internal bind
Tim Hammer
Tim.Hammer at orolia.com
Tue Apr 5 03:54:39 UTC 2022
On Sun, Apr 03, 2022 at 12:03:18PM +0200, Fabrice Fontaine wrote:
> Use internal bind as dhcp doesn't build since bump of bind to version
> 9.16.26 in commit 8adeaec8afacbc680edebae91524f6144926ac92 and upstream
> doesn't plan to fix it any time soon:
> https://gitlab.isc.org/isc-projects/dhcp/-/issues/233#note_276883
>
> In file included from ../includes/dhcpd.h:91,
> from ctrace.c:29:
> ../includes/omapip/isclib.h:51:10: fatal error: isc/boolean.h: No such file or directory
> 51 | #include <isc/boolean.h>
> | ^~~~~~~~~~~~~~~
>
> Fixes:
> - http://autobuild.buildroot.org/results/d18b006dce7b46631ce8f4c72fb97eb861993939
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> ---
> package/dhcp/Config.in | 1 -
> package/dhcp/dhcp.mk | 19 ++++++++++++++++---
> 2 files changed, 16 insertions(+), 4 deletions(-)
>
> diff --git a/package/dhcp/Config.in b/package/dhcp/Config.in
> index 515040c612..e0706efafb 100644
> --- a/package/dhcp/Config.in
> +++ b/package/dhcp/Config.in
> @@ -3,7 +3,6 @@ config BR2_PACKAGE_DHCP
> # fork()
> depends on BR2_USE_MMU
> depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
> - select BR2_PACKAGE_BIND
> help
> DHCP relay agent from the ISC DHCP distribution.
>
> diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk
> index 18765a3639..f1e3c22f1c 100644
> --- a/package/dhcp/dhcp.mk
> +++ b/package/dhcp/dhcp.mk
> @@ -9,8 +9,10 @@ DHCP_SITE = https://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)
> DHCP_INSTALL_STAGING = YES
> DHCP_LICENSE = MPL-2.0
> DHCP_LICENSE_FILES = LICENSE
> -DHCP_DEPENDENCIES = bind host-gawk
> +DHCP_DEPENDENCIES = host-gawk
> DHCP_CPE_ID_VENDOR = isc
> +# internal bind does not support parallel builds.
> +DHCP_MAKE = $(MAKE1)
>
> # use libtool-enabled configure.ac
> define DHCP_LIBTOOL_AUTORECONF
> @@ -21,11 +23,12 @@ DHCP_CONF_ENV = \
> CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \
> -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \
> CFLAGS='$(TARGET_CFLAGS) -DISC_CHECK_NONE=1'
> +DHCP_BIND_EXTRA_CONFIG = BUILD_CC='$(TARGET_CC)'
>
The only place BUILD_CC is used in the bundled bind-9.11 is to build lib/dns/gen, which needs to run on the host.
So this should be the host compiler, not the target.
I do not know the best/correct way to indicate this. To get past the issue I changed it to '/usr/bin/gcc'...
.Tim
Tim D. Hammer
tim.hammer at orolia.com
> DHCP_CONF_ENV += ac_cv_prog_AWK=$(HOST_DIR)/bin/gawk
>
> DHCP_CONF_OPTS = \
> - --with-libbind=$(STAGING_DIR)/usr \
> + --with-bind-extra-config="$(DHCP_BIND_EXTRA_CONFIG)" \
> --with-randomdev=/dev/random \
> --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \
> --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \
> @@ -38,8 +41,18 @@ DHCP_CONF_OPTS = \
> --with-relay-pid-file=/var/run/dhcrelay.pid \
> --with-relay6-pid-file=/var/run/dhcrelay6.pid
>
> +ifeq ($(BR2_PACKAGE_ZLIB),y)
> +DHCP_BIND_EXTRA_CONFIG += --with-zlib
> +DHCP_DEPENDENCIES += zlib
> +else
> +DHCP_BIND_EXTRA_CONFIG += --without-zlib
> +endif
> +
> +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
> +DHCP_CONF_ENV += LIBS=-latomic
> +endif
> +
> ifeq ($(BR2_STATIC_LIBS),y)
> -DHCP_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/bind9-config --libs bind9`"
> DHCP_CONF_OPTS += --disable-libtool
> else
> DHCP_POST_EXTRACT_HOOKS += DHCP_LIBTOOL_AUTORECONF
> --
> 2.35.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
More information about the buildroot
mailing list