[SERVER-17783] Library dependency graph should be acyclic Created: 29/Mar/15  Updated: 10/Aug/15  Resolved: 10/Aug/15

Status: Closed
Project: Core Server
Component/s: Build, Internal Code
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-17785 Scope application of link groups to a... Closed
Duplicate
is duplicated by SERVER-9666 Reorganize relationship between sourc... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 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.



 Comments   
Comment by Andrew Morrow (Inactive) [ 10/Aug/15 ]

This work is being done under SERVER-9666

Generated at Thu Feb 08 03:45:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.