Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1358

internal version of jansson exports the jansson symbols which collide with json-c and jansson libraries

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.4
    • Fix Version/s: 1.7.6
    • Component/s: c
    • Labels:
      None
    • Environment:

      linux

      Description

      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!

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              yahoo_build External Builds
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: