Bug #91010 | WolfSSL build broken due to cmake typo | ||
---|---|---|---|
Submitted: | 24 May 2018 12:27 | Modified: | 25 Jul 2019 11:27 |
Reporter: | Laurynas Biveinis (OCA) | Email Updates: | |
Status: | Won't fix | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S3 (Non-critical) |
Version: | 8.0.11 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | cmake, wolfSSL |
[24 May 2018 12:27]
Laurynas Biveinis
[24 May 2018 13:23]
Laurynas Biveinis
It seems that there are further issues past the CMake typo: [ 7%] Building CXX object libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_authentication.cc.o /Users/laurynas/percona/mysql-server/sql-common/client_authentication.cc:116:24: error: use of undeclared identifier 'PEM_read_RSA_PUBKEY' key = g_public_key = PEM_read_RSA_PUBKEY(pub_key_file, 0, 0, 0); ^ /Users/laurynas/percona/mysql-server/sql-common/client_authentication.cc:391:22: error: use of undeclared identifier 'PEM_read_bio_RSA_PUBKEY' public_key = PEM_read_bio_RSA_PUBKEY(bio, NULL, NULL, NULL); ^ 2 errors generated.
[25 May 2018 15:33]
MySQL Verification Team
Hello Laurynas, Thank you for the report. Thanks, Umesh
[25 May 2018 15:33]
MySQL Verification Team
Build details
Attachment: 91010.build (application/octet-stream, text), 23.04 KiB.
[28 May 2018 10:37]
Georgi Kodinov
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://dev.mysql.com/doc/ and the instructions on how to report a bug at http://bugs.mysql.com/how-to-report.php https://dev.mysql.com/doc/refman/8.0/en/building-with-encrypted-connection-support.html says: " To compile using wolfSSL, download the wolfSSL distribution and apply a small patch. For instructions, see the extra/README-wolfssl.txt file. "
[28 May 2018 10:40]
Laurynas Biveinis
To the best of my understanding, I have followed README-wolfssl.txt instructions precisely.
[30 May 2018 6:52]
Georgi Kodinov
Then you may have noticed the item about applying a diff to wolfSSL ? This is the diff: https://github.com/gkodinov/wolfssl-diff-for-mysql-8.0/blob/master/wolfssl-3.14.0-mysql.di... And it does have the following fragment in it: diff -ur -N -d -x CMakeLists.txt wolfssl-3.14.0-pristine/IDE/MYSQL/CMakeLists_wolfSSL.txt wolfssl-3.14.0/IDE/MYSQL/CMakeLists_wolfSSL.txt --- wolfssl-3.14.0-pristine/IDE/MYSQL/CMakeLists_wolfSSL.txt 2018-03-02 23:38:23.000000000 +0200 +++ wolfssl-3.14.0/IDE/MYSQL/CMakeLists_wolfSSL.txt 2018-03-07 10:47:54.077997300 +0200 @@ -32,7 +32,7 @@ SET(WOLFSSL_SOURCES src/crl.c src/internal.c src/keys.c src/sniffer.c src/tls.c src/wolfio.c src/ocsp.c src/ssl.c - ../../client/get_password.c ) + ../../client/get_password.cc )
[30 May 2018 7:22]
Laurynas Biveinis
I have not noticed a bit about diff because I don't see it there. Here's the entire READM-wolfssl.txt, minus the GPL header: (https://github.com/mysql/mysql-server/blob/8.0/extra/README-wolfssl.txt) ---- Instructions on how to compile with wolfssl * Get wolfssl-3.13.0.zip from wolfssl.com * Extract it to extra/wolfssl-3.13.0 * cd extra/wolfssl-3.13.0/IDE/MYSQL * Execute do.sh * use -DWITH_SSL=wolfssl for CMake --- Nowhere it mentions any patches (the do.sh script does not patch neither - it copies CMakeLists.txt around)
[30 May 2018 7:30]
MySQL Verification Team
when i tried it a while ago it also was not clear... (dev-private list, subject 'yaSSL is gone')
[30 May 2018 11:02]
Frederic Descamps
The change didn't reach the tree yet. Here is the modified version of that readme file: * Get wolfssl-3.14.0.zip from wolfssl.com * Extract it to extra/wolfssl-3.14.0 * Download wolfssl-3.14.0-mysql.diff to extra/wolfssl-3.14.0 folder from: https://github.com/gkodinov/wolfssl-diff-for-mysql-8.0 * Apply wolfssl-3.14.0-mysql.diff: cd extra/wolfssl-3.14.0 patch -p1 < wolfssl-3.14.0-mysql.diff * cd extra/wolfssl-3.14.0/IDE/MYSQL * Execute do.sh * use -DWITH_SSL=wolfssl for CMake
[11 Jun 2018 8:22]
MySQL Verification Team
Hello Laurynas, Frederic, Thank you Frederic for confirming that fix didn't reach the tree yet. For now closing this report but please feel free to reopen again if the issue persist. Regards, Umesh
[13 Jun 2018 9:11]
Laurynas Biveinis
Trying with the right instructions. 1) They need a minor update in that there is no wolfssl-3.14.0.zip at wolfssl.com - only 3.15.0 and 3.13.0. I am trying with wolfssl-3.14.0-stable.zip from https://github.com/wolfSSL/wolfssl/releases 2) I still get build errors on a minimally patched source tree: /Users/laurynas/percona/mysql-server/sql-common/client_authentication.cc:116:24: error: use of undeclared identifier 'PEM_read_RSA_PUBKEY' key = g_public_key = PEM_read_RSA_PUBKEY(pub_key_file, 0, 0, 0); ^ /Users/laurynas/percona/mysql-server/sql-common/client_authentication.cc:391:22: error: use of undeclared identifier 'PEM_read_bio_RSA_PUBKEY' public_key = PEM_read_bio_RSA_PUBKEY(bio, NULL, NULL, NULL); ^ 2 errors generated. make[2]: *** [libmysql/CMakeFiles/clientlib.dir/__/sql-common/client_authentication.cc.o] Error 1 I will retry with a clean tree now.
[13 Jun 2018 11:27]
Laurynas Biveinis
On a clean tree it fails at CMake, because the instructions use 3.14.0 whereas cmake/ssl.cmake has SET(WOLFSSL_VERSION "3.13.0"), resulting in -- WOLFSSL_SOURCE_DIR = /Users/laurynas/percona/mysql-8.0.11/extra/wolfssl-3.13.0 CMake Error at cmake/ssl.cmake:100 (ADD_SUBDIRECTORY): ADD_SUBDIRECTORY given source "/Users/laurynas/percona/mysql-8.0.11/extra/wolfssl-3.13.0" which is not an existing directory. Call Stack (most recent call first): cmake/ssl.cmake:157 (MYSQL_USE_WOLFSSL) CMakeLists.txt:764 (MYSQL_CHECK_SSL)
[14 Jun 2018 7:30]
MySQL Verification Team
Thank you,Laurynas. I followed Frederic's steps but seeing the issue as Laurynas reported. Reverting status back to "Verified". Regards, Umesh
[14 Jun 2018 7:30]
MySQL Verification Team
Build details
Attachment: 91010_patched.build (application/octet-stream, text), 24.19 KiB.
[23 Aug 2018 7:51]
Georgi Kodinov
Posted by developer: It should be fixed now with 8.0.12 out, wolf-3.14.0 and the lasted diff on github. Can you please double-check ?
[23 Aug 2018 8:12]
Laurynas Biveinis
It is in my plans to test, but might be a few days before I get to it
[25 Jul 2019 11:27]
Erlend Dahl
Support for WolfSSL will be discontinued in an upcoming release.