[SERVER-5254] dependency order of libraries is causing unnecessary relinking Created: 08/Mar/12 Updated: 11/Jul/16 Resolved: 30/Mar/12 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | 2.1.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Eric Milkie | Assignee: | Andy Schwerin |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Operating System: | ALL |
| Participants: |
| Description |
|
If you look at "scons --debug=explain", it shows the ordering of the libraries is not consistent across invocations:
|
| Comments |
| Comment by auto [ 12/Sep/12 ] |
|
Author: {u'date': u'2012-09-07T10:16:24-07:00', u'email': u'Andy Schwerin schwerin@10gen.com', u'name': u'Andrew Schwerin'}Message: SCons (correctly) considers two link command lines different if the order of This problem is akin to that from |
| Comment by auto [ 07/Sep/12 ] |
|
Author: {u'date': u'2012-09-07T10:16:24-07:00', u'name': u'Andrew Schwerin', u'email': u'Andy Schwerin schwerin@10gen.com'}Message: SCons (correctly) considers two link command lines different if the order of This problem is akin to that from |
| Comment by Eric Milkie [ 02/Apr/12 ] |
|
This is amazing – the "tool" suite now takes 5 minutes, 41 seconds on Windows with this fix in action (it was taking > 56 minutes before). |
| Comment by auto [ 30/Mar/12 ] |
|
Author: {u'login': u'andy10gen', u'email': u'schwerin@10gen.com', u'name': u'Andy Schwerin'}Message: Turns out that SCons.Node objects are compared on object identity (pointer), |
| Comment by Eric Milkie [ 30/Mar/12 ] |
|
Note that this is severely affecting our build times. For example, the Windows 64 bit builder takes 56 minutes to complete the "tool" test suite, even though it only spends 6 minutes actually running tests. The remainder of the time is wasted by superfluous invocations of the linker. |
| Comment by Eric Milkie [ 09/Mar/12 ] |
|
Confirmed, they are different – the order of .o files. |
| Comment by Andy Schwerin [ 09/Mar/12 ] |
|
I'm not going to get to this until sometime next week, at the earliest. If you have a chance, verify that the command lines for the links are also different? |
| Comment by Eric Milkie [ 09/Mar/12 ] |
|
There was a discussion of this recently, which ended in someone filing a bug with scons: "Dependency order problem, rebuilds due to incorrect implicit dependencies" Not sure that we'll be able to work around this. It's unfortunate because our link times on Windows are exceptionally long. |