From: Vyacheslav Yurkov <[email protected]> ISC DHCP should link against BIND9 libraries, which are tailored specifically for DHCP. BIND9 package in Yocto core layer has different configuraiton, in particular it has threads and epoll enabled.
ISC DHCP isn't a multi-threaded application, running it with bind9 libraries compiled in with threading enabled is not something ISC can vouch for. BIND9 libraries support a lot of options specifically geared towards optimizing DNS operations, many of which do not play nicely with ISC DHCP's "architecture". It isn't necessarily practical to build those libraries for both purposes. If threading is enabled, then DHCP sporadically fails/crashes with messages like: lib/isc/unix/socket.c:1054: epoll_ctl(DEL), 6: Bad file descriptor lib/isc/unix/socket.c:3332: INSIST(!sock->pending_send) failed. Signed-off-by: Vyacheslav Yurkov <[email protected]> --- meta/recipes-connectivity/dhcp/dhcp.inc | 6 ++--- .../0014-Use-static-version-of-libbind.patch | 23 +++++++++++++++++++ meta/recipes-connectivity/dhcp/dhcp_4.4.2.bb | 1 + 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-connectivity/dhcp/dhcp/0014-Use-static-version-of-libbind.patch diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc index d46130d49b..466cdf921a 100644 --- a/meta/recipes-connectivity/dhcp/dhcp.inc +++ b/meta/recipes-connectivity/dhcp/dhcp.inc @@ -10,7 +10,7 @@ HOMEPAGE = "http://www.isc.org/" LICENSE = "ISC" LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=004a4db50a1e20972e924a8618747c01" -DEPENDS = "openssl bind" +DEPENDS = "openssl zlib" SRC_URI = "http://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \ file://init-relay file://default-relay \ @@ -50,9 +50,9 @@ EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \ --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \ --enable-paranoia --disable-static \ --with-randomdev=/dev/random \ - --with-libbind=${STAGING_DIR_HOST} \ - --enable-libtool \ + --enable-libtool \ " +PARALLEL_MAKE = "" #Enable shared libs per dhcp README do_configure_prepend () { diff --git a/meta/recipes-connectivity/dhcp/dhcp/0014-Use-static-version-of-libbind.patch b/meta/recipes-connectivity/dhcp/dhcp/0014-Use-static-version-of-libbind.patch new file mode 100644 index 0000000000..63c74b25a5 --- /dev/null +++ b/meta/recipes-connectivity/dhcp/dhcp/0014-Use-static-version-of-libbind.patch @@ -0,0 +1,23 @@ +From a96f65117d63bea4287f19e80595f7aab282410a Mon Sep 17 00:00:00 2001 +From: Vyacheslav Yurkov <[email protected]> +Date: Wed, 10 Jun 2020 07:56:20 +0200 +Subject: [PATCH] Use static version of libbind + +Signed-off-by: Vyacheslav Yurkov <[email protected]> +--- + bind/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bind/Makefile.in b/bind/Makefile.in +index 8fe8883..902fc3d 100644 +--- a/bind/Makefile.in ++++ b/bind/Makefile.in +@@ -22,7 +22,7 @@ prefix = @prefix@ + exec_prefix = @exec_prefix@ + + bindconfig = --without-openssl --without-libxml2 --without-libjson \ +- --without-gssapi --disable-threads --without-lmdb \ ++ --without-gssapi --disable-threads --without-lmdb --disable-shared \ + --includedir=@includedir@ --libdir=@libdir@ --without-python\ + @BINDLT@ @BINDIOMUX@ @BINDCONFIG@ --enable-full-report + diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.4.2.bb b/meta/recipes-connectivity/dhcp/dhcp_4.4.2.bb index b56a204821..a322794e60 100644 --- a/meta/recipes-connectivity/dhcp/dhcp_4.4.2.bb +++ b/meta/recipes-connectivity/dhcp/dhcp_4.4.2.bb @@ -10,6 +10,7 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \ file://0013-fixup_use_libbind.patch \ file://0001-workaround-busybox-limitation-in-linux-dhclient-script.patch \ + file://0014-Use-static-version-of-libbind.patch \ " SRC_URI[md5sum] = "2afdaf8498dc1edaf3012efdd589b3e1" -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#139399): https://lists.openembedded.org/g/openembedded-core/message/139399 Mute This Topic: https://lists.openembedded.org/mt/74797704/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
