You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "External Builds (JIRA)" <ji...@apache.org> on 2013/07/25 00:23:50 UTC

[jira] [Created] (AVRO-1358) internal version of jansson exports the jansson symbols which collide with json-c and jansson libraries

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