Opened 9 years ago
Closed 7 years ago
#12696 closed Bug Report - General (Fixed)
Fails to compile mythzoneminder when mysql-5.7 is used
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | minor | Milestone: | 30.0 |
Component: | MythTV - General | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Ubuntu is introducing mysql 5.-7 into the 16.04 archive shortly: https://bugs.launchpad.net/ubuntu/+source/mysql-5.7/+bug/1528583
Unfortunately mythtv doesn't compile against it properly. The configure check for mysql/mysql.h under mythplugins fails when compiling against mysql-5.7.
This happens because <mysql/mysql.h> includes "mysql/client_plugin.h". mysql/mysql/client_plugin.h includes <mysql/plugin_auth_common.h>. The actual location of plugin_auth_common.h is /usr/include/mysql/mysql/auth_plugin_common.h. Of course this isn't part of the default search path so it leads to a failure.
This is the most obvious failure that affects MythTV. There are all sorts of instances that they're expecting /usr/include/mysql to be on the search path in the headers.
This can be fixed by adding a -I/usr/include/mysql to the header check and to the mythzmserver search path for includes.
I recommend using pkg-config (package "mysqlclient") or mysql_config instead of hard coding the include path.
Pkg-config support is new in MySQL 5.7, while mysql_config has been around for an eternity.