Uploaded image for project: 'C++ Driver'
  1. C++ Driver
  2. CXX-3266

Auto-downloaded C Driver incorrectly inherits BUILD_VERSION

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • 4.1.0, 3.11.1, 4.0.1
    • Affects Version/s: 4.0.0, 3.11.0
    • Component/s: None
    • None
    • None
    • C Drivers
    • Needed
    • Hide

      Users may want to be notified that the auto-downloaded C Driver, when built and installed alongside the C++ Driver, may be configured with an incorrect API version number (BUILD_VERSION) due to incorrectly inheriting the value from the C++ Driver's CMake configuration cache. The C Driver's reported API version (both in libraries and packages) may be incorrectly set to either 0.0.0 or set to the same value as the C++ Driver's API version number.

      This primarily affects C++ Driver 3.11 and 4.0. This only affects the C Driver that is auto-downloaded when CMake does not find an existing installation via find_package() or if the user uses add_subdirectory() to import C Driver CMake targets in their own higher-level CMake project.

      Note: although the bug is technically present with C++ Driver 3.9 and 3.10, the auto-download C Driver in those releases use version 1.25, which temporarily disabled support for BUILD_VERSION, and is therefore not susceptible to this configuration bug.

      Show
      Users may want to be notified that the auto-downloaded C Driver, when built and installed alongside the C++ Driver, may be configured with an incorrect API version number ( BUILD_VERSION ) due to incorrectly inheriting the value from the C++ Driver's CMake configuration cache. The C Driver's reported API version (both in libraries and packages) may be incorrectly set to either 0.0.0 or set to the same value as the C++ Driver's API version number. This primarily affects C++ Driver 3.11 and 4.0. This only affects the C Driver that is auto-downloaded when CMake does not find an existing installation via find_package() or if the user uses add_subdirectory() to import C Driver CMake targets in their own higher-level CMake project. Note: although the bug is technically present with C++ Driver 3.9 and 3.10, the auto-download C Driver in those releases use version 1.25, which temporarily disabled support for BUILD_VERSION , and is therefore not susceptible to this configuration bug.
    • None
    • None
    • None
    • None
    • None
    • None

      C++ Driver 3.9.0 added support for "auto-downloading" the C Driver in CXX-2695. However, the auto-downloaded C Driver may incorrectly inherit the BUILD_VERSION of the C++ Driver when the variable is set during configuration. This results in the C Driver libraries having an API version number that is the same as the C++ Driver libraries or set to 0.0.0 (the default value when not explicitly set). The incorrect API version number is propagated to the C Driver libraries and package files when they are installed alongside the C++ Driver.

            Assignee:
            ezra.chung@mongodb.com Ezra Chung
            Reporter:
            ezra.chung@mongodb.com Ezra Chung
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: