I understand the difference between runtime and compile-time and how to differentiate between the two, but I just don\'t see the need to make a distinction between compile-t
You need at compile time dependencies which you might need at runtime. However many libraries run without all its possible dependencies. i.e. a libraries which can use four different XML libraries, but only needs one to work.
Many libraries, need other libraries in turn. These libraries are not needed at compile time but are needed at runtime. i.e. when the code is actually run.