Agent++ 4.6.0: const/nonconst type mismatch build failure
Hello AGENT++ developers,
the automatic testing infrastructure of the Buildroot embedded Linux build system is reporting a build failure in AGENT++:
snmp_pp_ext.cpp:1217:26: error: binding reference of type 'Snmp_pp::Pdu&' to 'const Snmp_pp::Pdu' discards qualifiers
1217 | status = snmpmsg.load( pdu, community, version);
| ^~~
This is due to a mismatch between the SNMP++ APIs and AGENT++.
This failure is happening since several months and was happening also with version 4.5.4.
Here you can find info, including logs, about some of the failed builds:
http://autobuild.buildroot.net/results/e8abd6bdc62a028955915706b03d72239786c703/
http://autobuild.buildroot.net/results/24441fb679fbf5f913c9b6431c98aec596ead587/
http://autobuild.buildroot.net/results/d7347b8b3953596b66da6ca6d85f084fb427934c/
I have prepared a patch against AGENT++ 4.6.0 that fixes the problem according to my tests, please find it attached.
It would be great to have this fixed in the next mainline release of AGENT++!
Best regards,
Luca Ceresoli
Signature · 3 lines
Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
From 7e541e6dba8d4976bbb490838a09b569f38b047d Mon Sep 17 00:00:00 2001
From: Luca Ceresoli <[email protected]>
Date: Mon, 26 Jun 2023 17:45:00 +0200
Subject: [PATCH] Snmpx: fix const/nonconst type mismatch
Fixes build failure:
snmp_pp_ext.cpp:1176:28: error: binding reference of type 'Snmp_pp::Pdu&' to 'const Snmp_pp::Pdu' discards qualifiers
1176 | status = snmpmsg.load( pdu, community, version);
| ^~~
Fixes:
http://autobuild.buildroot.net/results/e8abd6bdc62a028955915706b03d72239786c703/
http://autobuild.buildroot.net/results/24441fb679fbf5f913c9b6431c98aec596ead587/
--- include/agent_pp/snmp_pp_ext.h | 2 +- src/snmp_pp_ext.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
include/agent_pp/snmp_pp_ext.h +1 -1
@@ -807,7 +807,7 @@ public:* SNMP_CLASS_SUCCESS on success and SNMP_CLASS_ERROR, * SNMP_CLASS_TL_FAILED on failure. */ - int send (Pdux const &, NS_SNMP UdpAddress const &, NS_SNMP snmp_version, NS_SNMP OctetStr const &); + int send (Pdux &, NS_SNMP UdpAddress const &, NS_SNMP snmp_version, NS_SNMP OctetStr const &);#endif /**
src/snmp_pp_ext.cpp +1 -1
@@ -1203,7 +1203,7 @@ int Snmpx::send (Pdux &pdu, SnmpTarget* target) #else // _SNMPv3 is not defined -int Snmpx::send (Pdux const &pdu, +int Snmpx::send (Pdux &pdu, UdpAddress const &udp_address, snmp_version version, OctetStr const &community)
Signature · 1 line
2.34.1
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot