Cross-linkage seems inevitable to me, because a big system, especially an open source one, is likely to be built from many smaller components written and maintained by different people. But, if you can at least tell the user what the dependencies are, that would be a big plus.