Description:
MySQL8.0.4 or higher can be linked against OpenSSL 1.1 on Unix and Unix-like systems.(https://bugs.mysql.com/bug.php?id=83814)
However, MySQL 8.0.11 can not be compiled on Windows with OpenSSL 1.1.0 yet.
How to repeat:
1. download and install Win64 OpenSSL v1.1.0h from
http://slproweb.com/products/Win32OpenSSL.html .
2. unzip mysql-8.0.11.zip .
3. cmake .. -DWITH_DEBUG=1 -G "Visual Studio 14 2015 Win64" -DDOWNLOAD_BOOST=1 -DWITH_BOOST=C:\work\boost -DWITH_SSL=C:\OpenSSL-Win64
Next, the following error appears:
-- OPENSSL_APPLINK_C OPENSSL_APPLINK_C-NOTFOUND
-- suffixes <.lib>
-- OPENSSL_INCLUDE_DIR = C:/OpenSSL-Win64/include
-- OPENSSL_LIBRARY = OPENSSL_LIBRARY-NOTFOUND
-- CRYPTO_LIBRARY = CRYPTO_LIBRARY-NOTFOUND
-- OPENSSL_MAJOR_VERSION = 1
-- Looking for SHA512_DIGEST_LENGTH
-- Looking for SHA512_DIGEST_LENGTH - found
--
Cannot find appropriate system libraries for WITH_SSL=C:/OpenSSL-Win64.
Make sure you have specified a supported SSL version.
Valid options are :
system (use the OS openssl library),
yes (synonym for system),
</path/to/custom/openssl/installation>,
wolfssl (use wolfSSL. See extra/README-wolfssl.txt on how to set this up)
CMake Error at cmake/ssl.cmake:72 (MESSAGE):
Please see https://wiki.openssl.org/index.php/Binaries
Call Stack (most recent call first):
cmake/ssl.cmake:357 (FATAL_SSL_NOT_FOUND_ERROR)
CMakeLists.txt:764 (MYSQL_CHECK_SSL)
-- Configuring incomplete, errors occurred!
In the case of OpenSSL 1.0.2, it will be the following message:
-- OPENSSL_APPLINK_C C:/OpenSSL-Win64/include/openssl/applink.c
-- suffixes <.lib>
-- The openssl command does not support zlib
-- OPENSSL_INCLUDE_DIR = C:/OpenSSL-Win64/include
-- OPENSSL_LIBRARY = C:/OpenSSL-Win64/lib/ssleay32.lib
-- CRYPTO_LIBRARY = C:/OpenSSL-Win64/lib/libeay32.lib
-- OPENSSL_MAJOR_VERSION = 1
-- Looking for SHA512_DIGEST_LENGTH
-- Looking for SHA512_DIGEST_LENGTH - found
-- SSL_LIBRARIES = imported_openssl;imported_crypto
-- WITH_SSL_PATH C:/OpenSSL-Win64
-- HAVE_CRYPTO_DLL C:/OpenSSL-Win64/bin/libeay32.dll
-- HAVE_OPENSSL_DLL C:/OpenSSL-Win64/bin/ssleay32.dll
-- INSTALL C:/OpenSSL-Win64/bin/libeay32.dll to bin
-- INSTALL C:/OpenSSL-Win64/bin/ssleay32.dll to bin
see the code:
https://github.com/mysql/mysql-server/blob/4f1d7cf5fcb11a3f84cff27e37100d7295e7d5ca/cmake/...
FIND_LIBRARY
The file name of Library referenced in ssl.make has been changed in OpenSSL 1.1.0. As a result, it fails with FIND_LIBRARY.
Suggested fix:
"Now MySQL 8.0 can only be compiled with OpenSSL 1.0.2 (Long Term Support) on Windows.
How about adding it to the limitation?
https://dev.mysql.com/doc/refman/8.0/en/limits-windows.html
(OpenSSL will be 1.1.1 which will be an Long Term Support release. )