Bug 22267

Summary: Can't get mysql.h using "mysql_config --include"
Product: Mageia Reporter: Stig-Ørjan Smelror <smelror>
Component: RPM PackagesAssignee: Marc Krämer <mageia>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Normal    
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:

Description Stig-Ørjan Smelror 2017-12-25 20:50:28 CET
Hi.

I've helped out wally_ on IRC with a few packages rebuilding against the new MariaDB and we've had to use a hardcoded line to get mysql.h.

The output of mysql_config --include is:
-I/usr/include/mysql -I/usr/include/mysql/..

Is it an idea to patch this file to use /usr/include/mysql/server instead of mysql/..?
Or is there a better way to make sure we get a hold of mysql.h?

File in question is
/usr/bin/multiarch-x86_64-linux/mysql_config line 113

TIA.

Cheers,
Stig
Comment 1 Jani Välimaa 2017-12-25 22:15:23 CET
I'd say there's nothing wrong with 'mysql_config --include' output. Some developers must just adapt their software for mariadb developers' decisions to split up headers into multiple locations. IMO if something must be done, it's something for mariadb upstream.

Most of our pkgs builds just fine without modifications or forcing include paths.

I think -I/usr/include/mysql/.. (aka -I/usr/include) is there for a reason to find/include also top level header files that other libs ships.
Comment 2 Marc Krämer 2017-12-27 01:49:07 CET
I'm not fully into this issue. What is the exact problem we have, and which packages don't find mysql.h?
Comment 3 Marc Krämer 2018-01-05 21:57:41 CET
wally has posted sth. on this issue:

Some discussion and explanations can be found from upstream bug report:
https://jira.mariadb.org/browse/MDEV-13370
 
https://jira.mariadb.org/browse/MDEV-13370?focusedCommentId=98468&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-98468
"all server includes go under /usr/include/mysql/server. So clients can
be compiled as before, they'll use connector-c headers (installed
under /usr/include/mysql as before). If someone needs server headers
(e.g. to compile a server plugin), she will have to adjust include
paths. And if one wants to link with libmysqld, embedded server
(Akonadi does) — it also requires server includes at the moment."


On behalf of this, I'll close this bug.

Resolution: (none) => WONTFIX
Status: NEW => RESOLVED