> shared libaries are handled the same way
Same way as that of an unspecified linker?
Are you claiming that your description is applicable to all the operating systems and all the linkers in the world?
> But when the application will use "d" from "sharedlibary2", this could cause the implementation "a" from "sharedlibary2" to be used, even if there's also the separate implementation of "a" in sharedlibrary1.
> internal uses by shared libaries themselves are resolved internally by each shared libary itself, specifying its own internal dependencies (already resolved when they were compiled), or external dependencies (these additional dependencies must have NO impact to the application using it
So this seems to agree at least with problem "First" in the message to which you responded "I disagree".
Again, what exactly do you disagree with?