From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH iproute2] configure: require libmnl Date: Thu, 31 May 2018 15:32:09 -0400 Message-ID: <20180531193209.27406-1-stephen@networkplumber.org> Cc: Stephen Hemminger To: netdev@vger.kernel.org Return-path: Received: from mail-wr0-f193.google.com ([209.85.128.193]:37859 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754067AbeEaTcQ (ORCPT ); Thu, 31 May 2018 15:32:16 -0400 Received: by mail-wr0-f193.google.com with SMTP id d8-v6so2873727wro.4 for ; Thu, 31 May 2018 12:32:15 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: 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 --- 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 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