Bug #80935 Dev library header files not on default include path
Submitted: 1 Apr 2016 16:40 Modified: 9 May 2016 14:44
Reporter: Lars Tangvald Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: C API (client library) Severity:S3 (Non-critical)
Version:5.7.11 OS:Linux
Assigned to: CPU Architecture:Any

[1 Apr 2016 16:40] Lars Tangvald
Description:
Because the client library header files are split up between include/mysql and include/mysql/mysql, building against it will fail unless include/mysql is added to the default include path.

This can be fixed by packages using pkg-config or mysql-config, but ideally this would not be necessary.

How to repeat:
* Find a package that builds against libmysqlclient, such as anope on Ubuntu
* Try to build the package from source and observe failure to find plugin_auth_common.h
[5 Apr 2016 6:55] Lars Tangvald
Copies three files from the internal include path to the outer one

Attachment: 0001-Move-needed-header-files-to-default-include-path2.patch (text/x-patch), 1.17 KiB.

[9 May 2016 14:44] Paul DuBois
Posted by developer:
 
Noted in 5.7.13 changelog.

Compiling of clients that used the MySQL C API could fail if they 
used an obsolete path to mysql.h or and did not set the include path.
This was due to use of #include <file_name> notation rather than
#include "file_name" in internal MySQL header files, which have been
adjusted.