Symbols from libraries linked as dependencies no longer resolved by *ld*
Previously, the *ld* linker would resolve any symbols present in any linked library, even if some libraries were linked only implicitly as dependencies of other libraries. This allowed developers to use symbols from the dependency libraries in application code and omit explicitly specifying these libraries for linking.
For security reasons, *ld* has been changed to not resolve references to symbols in libraries linked implicitly as dependencies.
As a result, linking with *ld* fails when application code attempts to use symbols from libraries not declared for linking and linked only implicitly as dependencies. To use symbols from libraries linked as dependencies, developers must explicitly link against these libraries as well.