Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17783

Library dependency graph should be acyclic

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Build, Internal Code
    • None
    • Fully Compatible
    • ALL

    Description

      Our library dependency graph currently contains cycles, but the libdeps facility prohibits declaring cycles. As a result, the cycles are implicit.

      A cyclic dependency graph makes it impossible to build as shared libraries when requiring that all symbols be resolved at link time.

      Doing the above would make it possible to detect when undeclared dependencies are introduced, unlike in the static build, where undeclared direct dependencies may be coincidentally satisfied by transitive dependencies. Since we cannot currently detect this, we have many undeclared library dependency edges.

      Attachments

        Activity

          People

            Unassigned Unassigned
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: