From bfb85f1840f3672518979dd4b52f012fc08b4f88 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 6 Aug 2019 09:36:13 +0200
Subject: [PATCH] configure.ac: fix activation of snmp_agent

If netsnmp library has been built without mib loading support (through
--disable-mib-loading), build of snmp_agent fails on:

src/snmp_agent.c: In function 'snmp_agent_get_asn_type':
src/snmp_agent.c:160:47: error: dereferencing pointer to incomplete type 'struct tree'
   return (node != NULL) ? mib_to_asn_type(node->type) : 0;

struct tree is defined in net-snmp/libray/parse.h which is included by
net-snmp/mib_api.h only if NETSNMP_DISABLE_MIB_LOADING is not set.

To fix this error, check for get_tree function in netsnmp library in
addition to init_agent in netsnmpagent library

Fixes:
 - http://autobuild.buildroot.org/results/6d7ac28f154f83208f949c62d28411855f1817f8

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/collectd/collectd/pull/3241]
---
 configure.ac | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index add1556b..5ac33dc7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3950,7 +3950,13 @@ if test "x$with_libnetsnmpagent" = "xyes"; then
   )
 
   AC_CHECK_LIB([netsnmpagent], [init_agent],
-    [with_libnetsnmpagent="yes"],
+    [
+      # libnetsnmp can be built without without mib loading support
+      AC_CHECK_LIB([netsnmp], [get_tree],
+        [with_libnetsnmpagent="yes"],
+        [with_libnetsnmpagent="no (libnetsnmp doesn't support mib loading)"]
+      )
+    ],
     [with_libnetsnmpagent="no (libnetsnmpagent not found)"],
     [$libnetsnmphelpers]
   )
-- 
2.20.1

