External Builds created AVRO-1358: ------------------------------------- Summary: internal version of jansson exports the jansson symbols which collide with json-c and jansson libraries Key: AVRO-1358 URL: https://issues.apache.org/jira/browse/AVRO-1358 Project: Avro Issue Type: Bug Components: c Affects Versions: 1.7.4 Environment: linux Reporter: External Builds
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) json_function() #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. Thanks! -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira