| Bug #96739 | improve support for "system" openssl on windows | ||
|---|---|---|---|
| Submitted: | 4 Sep 2019 8:57 | Modified: | 30 Sep 2019 17:21 |
| Reporter: | Tor Didriksen | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
| Version: | 8.0.19 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
[30 Sep 2019 17:21]
Paul DuBois
Posted by developer: Fixed in 8.0.19. On Windows, the -DWITH_SSL=system option did not work if the path name leading to the system OpenSSL libraries contained a space. This is now handled. Also, -DWITH_SSL=yes is treated like -DWITH_SSL=system, as on other platforms.

Description: "system" OpenSSL on Windows is supported if an external OpenSSL package is installed. The obvious place to install it is C:/Program Files/OpenSSL-Win64 This however, currently does not work, the whitespace creates problems. How to repeat: Install to C:/Program Files/OpenSSL-Win64 cmake --build . --config debug --target mysqladmin ... ... ... LINK : fatal error LNK1181: cannot open 'C:\Program' [C:\ade\8.0-review\libmysql\mysqlclient.vcxproj] The problem is the transitive dependency on OpenSSL libs from our mysys library. In mysqlclient.vcxproj we see: <Lib> <AdditionalOptions>%(AdditionalOptions) /machine:x64 C:/Program Files/OpenSSL-Win64/lib/libssl.lib C:/Program Files/OpenSSL-Win64/lib/libcrypto.lib</AdditionalOptions> </Lib> Suggested fix: Copy the libs to a place without any whitespace, i.e. the build directory, and link with the copied files instead.