Bug 1469993
| Summary: | mariadb library upgrade to 10.2 causes lua-sql FTBFS | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Augusto Caringi <acaringi> | ||||
| Component: | lua-sql | Assignee: | Tim Niemueller <tim> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 27 | CC: | awilliam, mschorm, tim | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2017-10-26 15:53:31 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 1467297 | ||||||
| Attachments: |
|
||||||
|
Description
Augusto Caringi
2017-07-12 08:50:03 UTC
So, I think there's actually a subtle *MariaDB* build system bug behind this (and all the other bugs where the problem is stuff from mysql_version.h): https://jira.mariadb.org/browse/MDEV-13370 The mysql.h from *MariaDB itself* - that is, include/mysql.h in the tarball - actually does #include mysql_version.h . The problem is that we're not actually *getting* that mysql.h installed (and ultimately in the mariadb-devel package). Instead we're getting the mysql.h from libmariadb/include/mysql.h . libmariadb/ is in fact mariadb-connector-c included as a subproject. It seems that both libmariadb/include/CMakeLists.txt and include/CMakeLists.txt attempt to install their own mysql.h to the same place, so which one you get is ultimately a race. It looks to me like the build process happens to install the one from libmariadb/include first, and then declines to overwrite it with the one from include/ later, so we're actually ultimately shipping *the wrong mysql.h* - the one we're shipping is really from mariadb-connector-c , it's not MariaDB's own mysql.h . Because the one from mariadb-connector-c is only meant for building *client* applications, it doesn't include all the server symbols; it has its own mariadb_version.h file that doesn't define as much stuff as the server's mysql_version.h does. Until upstream looks at this, I suggest we patch our mariadb package to get the right headers installed. I'll try and find a good way to do this. Once that's done, this kind of build failure *should* go away with no patching required...if I'm right. So, I did rebuild lua-sql while the mariadb build with the server headers installed was current. We switched it back to the client headers again, so for now lua-sql will again fail to build unless an explicit #include mysql_version.h is added, which doesn't really seem correct. I'm now waiting on upstream's response to MDEV-13370 before making any further changes. This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle. Changing version to '27'. I think that we can close this bug, right? It seems that Florian Weimer <fweimer> solved the problem on commit 379747177beb31132af65e13c27e8fd491085234 This should be already solved for several weeks. |