-
Several CMake options have been added or updated to enable using external sources (or builds) of third-party components, like compression libraries and the Protobuf compiler, on which Connector/C++ depends. These options permit substituting external source locations at configuration time if required.
Supported options are:
WITH_BOOST
: The Boost source directory.WITH_LZ4
: The LZ4 source directory.WITH_MYSQL
: The MySQL Server source directory.WITH_PROTOBUF
: The Protobuf source directory.WITH_SSL
: The SSL source directory.WITH_ZLIB
: The ZLIB source directory.WITH_ZSTD
: The ZSTD source directory.
Currently, bundled third-party libraries used by connector are linked statically to it. Externally sourced libraries are linked dynamically. Long-standing issues, such as applications that link to the static connector library (
libmysqlcppconn8-static.a
) not being able to also link to a Protobuf library at the same time, now are resolved by building from sources a variant that links Protobuf dynamically.For more information, see Specifying External Dependencies. (Bug #32117299, WL #15064)
For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for Connector/C++ has been updated to version 1.1.1q. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html. (Bug #34414692)
If building the legacy JDBC connector from source, using an additional git command to perform submodule initialization is no longer necessary. (WL #15182)
X DevAPI: If an application program called
mysqlx_session_close
after disconnecting from the Internet, an exception from Connector/C++ could cause the application to halt unexpectedly. (Bug #107692, Bug #34338950)On Windows, compiler difficulties were encountered because
unistd.h
was used to callgetcwd
rather than using various Windows alternatives. Our thanks to Luis Pinto for the patch. (Bug #108355, Bug #34553226)The
libcrypto
library, whichlibssl
attempted to link to, was installed in an unexpected directory by the Connector/C++ binary distribution for macOS. This fix ensures that both bundled libraries are installed in the same directory. (Bug #107947, Bug #34417381)