The 1.7.x version of AVRO includes an "internal" copy of jansson library, but it also exports all of the jansson symbols which will collide with other libraries. The symbol 'json_object_get' will collide with the json-c library and all of the 'json_*' symbols collide with the external jansson library.
If you don't want to have an external dependency on 'jansson' then it seems that the symbols will need to have a hidden visibility or some other mechanism to keep them from being exported with the AVRO library.
As a temporary solution we have wrapped the internal jansson functions with this so they are hidden:
#pragma GCC visibility push(hidden)
#pragma GCC visibility pop
Many other solutions exist. I don't see that having an external dependency is such a drawback, as many other open source packages have dependencies on other open source packages, but any solution would be appreciated.