[MDEV-5529] Sync libmysqlclient.so symbol versioning across distributions Created: 2014-01-14 Updated: 2014-03-03 Resolved: 2014-02-24 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 5.5.34 |
| Fix Version/s: | 5.5.36 |
| Type: | Bug | Priority: | Major |
| Reporter: | Honza Horak | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | libmysqlclient, packaging | ||
| Environment: |
Linux, RPM |
||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
As discussed already in https://lists.launchpad.net/maria-developers/msg06643.html and https://bugzilla.redhat.com/show_bug.cgi?id=1045013, we'd like to sync symbol versioning of libmysqlclient.so to provide compatible libraries at least in RPM packages across distributions. It seems the best solution we can do now is to use both, libmysqlclient_16 and libmysqlclient_18 version for older symbols from 5.1 and libmysqlclient_18 only for symbols from 5.5. libmysqlclient_18 will be default version in both cases. The attached patch should implement that only for RHEL-7 RPMs, but we'd like to adopt the same since Fedora 21 (not sure if MariaDB's build system can distinguish between fedora versions). |
| Comments |
| Comment by Honza Horak [ 2014-01-17 ] | |||||||||||||||||||||||||||
|
The same patch as previous with adjusted CMakeList.txt, so that compatible symbol versioning is used when defining -DRPM=RHEL7/Fedora21 and above | |||||||||||||||||||||||||||
| Comment by Sergei Golubchik [ 2014-02-15 ] | |||||||||||||||||||||||||||
|
hhorak: One observation and one question for you.
| |||||||||||||||||||||||||||
| Comment by Honza Horak [ 2014-02-19 ] | |||||||||||||||||||||||||||
|
ad 1) I can see CMakeLists.txt in the repository, not necessary to attach it separately. ad 2) It would mean that people compiling their software against original MariaDB binaries for RHEL-6/Fedora 20 and older would end up with binaries not working on RHEL-6/Fedora-20 and older. In RHEL-6 it is not an issue, since there is a different soname version; it can make troubles in Fedora though, but the troubles will only exist until Fedora 20 retires. Well, it's not perfect, but I guess we can live with that; anybody wanting to prepare universal binaries should just build against libraries available in Fedora. | |||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-02-23 ] | |||||||||||||||||||||||||||
|
After post-fixes and re-checks, as of revno 4093 (tentative 5.5.36 release): Fixed:
Broken:
| |||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2014-02-24 ] | |||||||||||||||||||||||||||
|
Re-opening to fix the comment |