Description:
I attempted to perform a client-only build of MySQL 5.7.19 from source, as downloaded from mysql.com, but the build failed due to a change in the download package between 5.7.18 and 5.7.19 without an associated change in the build code.
The source download package for MySQL 5.7.19 (tested with mysql-boost-5.7.19.tar.gz, haven't confirmed if it affects mysql-5.7.19.tar.gz as well) differs from previous versions in that it excludes the directory storage/ndb. Line 615 of the file CMakeLists.txt (included in the same package) makes reference to storage/ndb when the build flag -DWITHOUT_SERVER=ON is used, however. This causes a client-only build to fail with the message "ADD_SUBDIRECTORY given source 'storage/ndb' which is not an existing directory."
Commenting out lines 613 (else clause) and 615 (storage/ndb line) in CMakeLists.txt allows the build to proceed (though another unrelated issue still prevents the client-only build from completing, which I'll cover in another bug report).
Note that I was performing an out-of-source build, but I don't believe that is relevant to the issue.
Relevant lines in CMakeLists.txt:
608: IF(NOT WITHOUT_SERVER)
...
613: ELSE
...
615: ADD_SUBDIRECTORY(storage/ndb)
How to repeat:
Using the source from mysql-boost-5.7.19.tar.gz, attempt to compile using the flag -DWITHOUT_SERVER=ON
Suggested fix:
Either:
1. restore storage/ndb to the source package
2. update the code in CMakeLists.txt to make the storage/ndb reference optional
3. remove the reference to storage/ndb in CMakeLists.txt.