An error occurred while fetching folder content.
Alexander Turenko
authored
System-wide dynamic libraries usually (always?) have NEEDED and RUNPATH tags in a dynamic section (as `readelf -d /usr/lib/lib<...>.so` shows), so when we link, say, with libssl.so, which depends on libz.so, a linker does not complain against unresolved symbols that can be found in Z library (if it is installed within a system). Things are different when we linking with a static library. Say, when we linking with libssl.a, which contains an unresolved symbol from Z library, a linker reports an error. It is not possible to store an information where to find unresolved symbols (NEEDED / RUNPATH) in a static library (AFAIK). We depend on three libraries that are depend on Z library: libcurl, libssl and libcrypto (two latter are part of OpenSSL). When one of those libraries is linked statically we should link with libz.so or libz.a (depending on BUILD_STATIC flag). The patch doing exactly this. The patch changes OPENSSL_LIBRARIES variable to fix the issue with static linking of OpenSSL libraries. It also changes CURL_LIBRARIES in the same way, however this does not alter any visible behaviour, because OPENSSL_LIBRARIES is added to CURL_LIBRARIES. The latter change was made to unify the way to choose libraries to link with: it is pure refactoring part. Fixes #4437. (cherry picked from commit 2cdfaf3b)
Name | Last commit | Last update |
---|