Message ID | eb6c1c71663811f27493ec0b7f32f9bdb88a8820.1630643968.git.baruch@tkos.co.il |
---|---|
State | Accepted |
Headers | show |
Series | package/netsniff-ng: fix static build of mausezahn | expand |
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > The configure script fails to detect libpcap in static build because it > does not take into account the libnl dependency on link. As a result the > configure script silently disables mausezahn build even when > BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN is enabled. Add upstream patch to use > pkg-config for libpcap link flags. > Cc: Joris Lijssens <joris.lijssens@gmail.com> > Signed-off-by: Baruch Siach <baruch@tkos.co.il> Committed, thanks.
>>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: > The configure script fails to detect libpcap in static build because it > does not take into account the libnl dependency on link. As a result the > configure script silently disables mausezahn build even when > BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN is enabled. Add upstream patch to use > pkg-config for libpcap link flags. > Cc: Joris Lijssens <joris.lijssens@gmail.com> > Signed-off-by: Baruch Siach <baruch@tkos.co.il> Hmm, we currently don't have host-pkgconf as a dependency of netsniff-ng, so I've amended the commit to do that.
>>>>> "Peter" == Peter Korsgaard <peter@korsgaard.com> writes: >>>>> "Baruch" == Baruch Siach <baruch@tkos.co.il> writes: >> The configure script fails to detect libpcap in static build because it >> does not take into account the libnl dependency on link. As a result the >> configure script silently disables mausezahn build even when >> BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN is enabled. Add upstream patch to use >> pkg-config for libpcap link flags. >> Cc: Joris Lijssens <joris.lijssens@gmail.com> >> Signed-off-by: Baruch Siach <baruch@tkos.co.il> > Hmm, we currently don't have host-pkgconf as a dependency of > netsniff-ng, so I've amended the commit to do that. Committed to 2021.02.x and 2021.05.x, thanks.
diff --git a/package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch b/package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch new file mode 100644 index 000000000000..bbcbd2bfc391 --- /dev/null +++ b/package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch @@ -0,0 +1,51 @@ +From 194ec61843b9598ce90873c812b817c4b96e2e0d Mon Sep 17 00:00:00 2001 +From: Baruch Siach <baruch@tkos.co.il> +Date: Thu, 2 Sep 2021 12:56:00 +0300 +Subject: [PATCH] Detect libpcap dependencies using pkg-config + +When building statically the link command line must include all +dependencies of all libraries. libpcap can optionally depend on libnl. +mausezahn can't build statically in this case. + +Use pkg-config in configure and in the link command to construct the +library flags we need to link with libpcap. + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +Signed-off-by: Tobias Klauser <tklauser@distanz.ch> +--- +Upstream status: commit 194ec61843b9598ce90873c812b817c4b96e2e0d + + configure | 4 +++- + mausezahn/Makefile | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 510826a798f5..598ae2433a7a 100755 +--- a/configure ++++ b/configure +@@ -588,7 +588,9 @@ int main(void) + } + EOF + +- $CC -o $TMPDIR/pcaptest $TMPDIR/pcaptest.c -lpcap >> config.log 2>&1 ++ $CC -o $TMPDIR/pcaptest $TMPDIR/pcaptest.c \ ++ $($PKG_CONFIG --libs libpcap 2>> config.log) \ ++ >> config.log 2>&1 + if [ ! -x $TMPDIR/pcaptest ] ; then + echo "[NO]" + echo "CONFIG_LIBPCAP=0" >> Config +diff --git a/mausezahn/Makefile b/mausezahn/Makefile +index ca16b6579583..9544565355cc 100644 +--- a/mausezahn/Makefile ++++ b/mausezahn/Makefile +@@ -1,6 +1,6 @@ + mausezahn-libs = -lcli \ + -lnet \ +- -lpcap \ ++ $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libpcap 2> /dev/null ) \ + -lrt \ + -lpthread \ + -lm +-- +2.33.0 +
The configure script fails to detect libpcap in static build because it does not take into account the libnl dependency on link. As a result the configure script silently disables mausezahn build even when BR2_PACKAGE_NETSNIFF_NG_MAUSEZAHN is enabled. Add upstream patch to use pkg-config for libpcap link flags. Cc: Joris Lijssens <joris.lijssens@gmail.com> Signed-off-by: Baruch Siach <baruch@tkos.co.il> --- ...ibpcap-dependencies-using-pkg-config.patch | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 package/netsniff-ng/0001-Detect-libpcap-dependencies-using-pkg-config.patch