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

Library dependency graph should be acyclic

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Build, Internal Code
    • Labels:
      None
    • Fully Compatible
    • ALL

      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.

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

              Created:
              Updated:
              Resolved: