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

Reply via email to