Subject: | json-c >= 0.11 required by BIND 9.10.3 |
Date: | Wed, 18 Nov 2015 14:43:29 -0500 |
To: | bind9-bugs@isc.org |
From: | "Robert Edmonds" <edmonds@debian.org> |
Hi,
This change was implemented in BIND 9.10.3:
4073. [cleanup] Add libjson-c version number reporting to
"named -V"; normalize version number formatting.
[RT #38056]
The corresponding commit is 8262b7708, which adds unconditional
references to the JSON_C_VERSION macro and json_c_version() function
exposed by the json-c library. However, these identifiers were added
relatively recently (apparently, they appeared in json-c version 0.11,
released 2013), and are missing in previous versions, which are still
somewhat common. E.g., the current stable version of Debian offers
json-c 0.11, while the previous stable version of Debian only offers
json-c 0.10.
Unless there's some technical requirement for requiring json-c >= 0.11
(and I suspect there isn't, otherwise I'd expect the minimum version
requirement to be mentioned in the docs), I would suggest making the
relevant printf's dependent on both HAVE_JSON and JSON_C_VERSION being
defined, rather than only on HAVE_JSON, e.g.:
#if (defined(HAVE_JSON) && defined(JSON_C_VERSION))
printf("compiled with libjson-c version: %s\n",
JSON_C_VERSION);
printf("linked to libjson-c version: %s\n",
json_c_version());
#endif
(It looks like json-c introduced both the macro and the function at the
same time.)
Thanks!
--
Robert Edmonds
edmonds@debian.org