To my basic understanding, software licenses only apply when redistributing software. Even if I am wrong about this in general, the GPL states that you need not agree to the GPL in order to receive or run a GPL-covered program.
Say there is Program X. Program X requires Library L to run. Program X is covered by a GPL-incompatible license (e.g. the Eclipse Public License, or a proprietary license). Library L is covered by the GPLv3.
Program X cannot be distributed alongside Library L - the combination would need to be covered by the GPL, which would violate the EPL.
What prevents users from separately installing Program X and Library L, and then using Program X?
Perhaps more relevantly in the modern world of auto-updaters, what prevents Program X from including a wrapper which downloads Library L from the Internet (say, from Library L's official website) and then executing Program X?
In both of these cases, nothing from Library L is distributed by the authors of Program X, so Library L's license should not apply.
What, if anything, changes if Program X instead requires Library L', a fork of Library L by the authors of Program X, which is only available from the same website as Program X and is only usable with Program X, but is never distributed in the same package as Program X?
What if this is all in a dynamic language, and no part of Library L is required to compile Program X?
What if Program X is distributed in source code form, so that the distribution was not compiled from Library L's headers?