On Friday 2023-12-08 18:54, Stefan Brüns wrote:
3. Mixing multiple versions of the same shared library is in general a very bad thing. I can see the build host installs both libicu 65.1 and 69.1, so binaries may end up with linking to both versions (directly and indirectly). For libicu, this is probably mostly fine, as almost[1] all symbols are namespace-prefixed (e.g. icu_65::) for suffixed (e.g. _65), but for other libraries this may be actual problem.
Symbol versioning (even a very trivial one) also acts as namespacing and does not need source modification (like the ICU namespace thing). This is how libssl.so.1/libssl.so.3 can reasonably coexist within the same process. It's not rocket science and takes just two lines in a Makefile. Any developer not doing symvers should feel guilty already.