Several users of BPF and other features are trying to build without libmnl, then complaining that features don't work. The time has come to require libmnl to build iproute2.
Signed-off-by: Stephen Hemminger <step...@networkplumber.org> --- configure | 20 +++++++++++--------- lib/libnetlink.c | 10 ---------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/configure b/configure index 5ef5cd4cf9cd..209d78b6bf19 100755 --- a/configure +++ b/configure @@ -281,16 +281,18 @@ check_selinux() check_mnl() { - if ${PKG_CONFIG} libmnl --exists - then - echo "HAVE_MNL:=y" >>$CONFIG - echo "yes" + if ${PKG_CONFIG} libmnl --exists + then + echo "HAVE_MNL:=y" >>$CONFIG + echo "yes" - echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG - echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG - else - echo "no" - fi + echo 'CFLAGS += -DHAVE_LIBMNL' `${PKG_CONFIG} libmnl --cflags` >>$CONFIG + echo 'LDLIBS +=' `${PKG_CONFIG} libmnl --libs` >> $CONFIG + else + echo "no" + echo "libmnl is required. please install libmnl-dev or libmnl-devel" 1>&2 + exit 1 + fi } check_berkeley_db() diff --git a/lib/libnetlink.c b/lib/libnetlink.c index 928de1dd16d8..ab8ea85d5dd9 100644 --- a/lib/libnetlink.c +++ b/lib/libnetlink.c @@ -35,7 +35,6 @@ int rcvbuf = 1024 * 1024; -#ifdef HAVE_LIBMNL #include <libmnl/libmnl.h> static const enum mnl_attr_data_type extack_policy[NLMSGERR_ATTR_MAX + 1] = { @@ -116,15 +115,6 @@ int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) return 0; } -#else -#warning "libmnl required for error support" - -/* No extended error ack without libmnl */ -int nl_dump_ext_ack(const struct nlmsghdr *nlh, nl_ext_ack_fn_t errfn) -{ - return 0; -} -#endif void rtnl_close(struct rtnl_handle *rth) { -- 2.17.0