Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-1939

dpkg-gensymbols error building 1.5.0 Debian package

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.5.0
    • Affects Version/s: 1.5.0
    • Component/s: debian, libbson, libmongoc
    • Labels:
      None

      In CDRIVER-1347 we deleted versions.ldscript from libbson and libmongoc, because it's a pain to maintain. That file had two pieces of information:

      1. The list of public symbols.
      2. Which library versions introduced each of those symbols.

      We've replaced number 1 by decorating each public function declaration with the BSON_API macro. But we lost number 2. As a consequence, building the updated Debian package fails:

      dpkg-gensymbols: warning: debian/tmp/DEBIAN/symbols doesn't match completely debian/libbson-1.0-0.symbols
      

      The diff is attached.

      These missing symbols can be easily reintroduced by just creating a versions.ldscript with only these symbols:

      LIBBSON_1.0@LIBBSON_1.0 1.2.1
      LIBBSON_1.1@LIBBSON_1.1 1.2.1
      LIBBSON_1.2@LIBBSON_1.2 1.2.1
      LIBBSON_1.3@LIBBSON_1.3 1.4.1
      LIBBSON_1.4@LIBBSON_1.4 1.4.1
      

      But the actual function names are a problem. Consider this symbol that we'd had:

      bson_get_version@LIBBSON_1.2 1.2.1
      

      The format is explained here, it is "name@version minimal-version", which I only sort of understand.

      The new symbol output is like:

      bson_get_version@Base 1.5.0-1
      

      Is this ok and we should just disable dpkg-gensymbols's check?

      (The symbols file was added to libbson by Ondřej Surý in pull 149. We'll have the same issue when we build the libmongoc package, which has a symbols file from pull 308.)

            Assignee:
            jesse@mongodb.com A. Jesse Jiryu Davis
            Reporter:
            jesse@mongodb.com A. Jesse Jiryu Davis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: