Bug #81384 | libmysqlclient.so.18 missing from MySQL 5.7 | ||
---|---|---|---|
Submitted: | 11 May 2016 21:09 | Modified: | 3 Aug 2016 13:56 |
Reporter: | monty solomon | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Installing | Severity: | S1 (Critical) |
Version: | 5.7 | OS: | CentOS (6.7) |
Assigned to: | Terje Røsten | CPU Architecture: | Any |
[11 May 2016 21:09]
monty solomon
[11 May 2016 21:23]
monty solomon
CentOS release 6.7 (Final)
[11 May 2016 23:49]
MySQL Verification Team
[miguel@centosvb Downloads]$ ls mysql-community-libs-compat-5.7.12-1.el6.x86_64.rpm mysql-community-libs-compat-5.7.12-1.el7.x86_64.rpm [miguel@centosvb Downloads]$ rpm -qp --provides mysql-community-libs-compat-5.7.12-1.el7.x86_64.rpm | grep client warning: mysql-community-libs-compat-5.7.12-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY libmysqlclient.so.18()(64bit) libmysqlclient.so.18(libmysqlclient_16)(64bit) libmysqlclient.so.18(libmysqlclient_18)(64bit) [miguel@centosvb Downloads]$ rpm -qp --provides mysql-community-libs-compat-5.7.12-1.el6.x86_64.rpm | grep client warning: mysql-community-libs-compat-5.7.12-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY libmysqlclient.so.16()(64bit) libmysqlclient.so.16(libmysqlclient_16)(64bit) libmysqlclient_r.so.16()(64bit) libmysqlclient_r.so.16(libmysqlclient_16)(64bit) http://bugs.mysql.com/bug.php?id=78112 [17 Aug 2015 21:03] Terje Røsten Hi again whats your exact platform? For CentOS7/RHEL7/Oracle Linux 7 libmysqlclient.so.18 is provided in mysql-community-libs-compat. $ rpm -qp --pr [17 Aug 2015 21:03] Terje Røsten Hi again whats your exact platform? For CentOS7/RHEL7/Oracle Linux 7 libmysqlclient.so.18 is provided in mysql-community-libs-compat. $ rpm -qp --provides mysql-community-libs-compat-5.7.8-0.3.rc.el7.x86_64.rpm | grep client libmysqlclient.so.18()(64bit) libmysqlclient.so.18(libmysqlclient_16)(64bit) libmysqlclient.so.18(libmysqlclient_18)(64bit) For CentOS6/RHEL6/Oracle Linux 6 libmysqlclient.so.16 is provided in mysql-community-libs-compat. $ rpm -qp --requires mysql-community-libs-compat-5.7.8-0.3.rc.el6.x86_64.rpm |grep client libmysqlclient.so.16()(64bit) libmysqlclient_r.so.16()(64bit) ovides mysql-community-libs-compat-5.7.8-0.3.rc.el7.x86_64.rpm | grep client libmysqlclient.so.18()(64bit) libmysqlclient.so.18(libmysqlclient_16)(64bit) libmysqlclient.so.18(libmysqlclient_18)(64bit) For CentOS6/RHEL6/Oracle Linux 6 libmysqlclient.so.16 is provided in mysql-community-libs-compat. $ rpm -qp --requires mysql-community-libs-compat-5.7.8-0.3.rc.el6.x86_64.rpm |grep client libmysqlclient.so.16()(64bit) libmysqlclient_r.so.16()(64bit)
[12 May 2016 4:30]
monty solomon
CentOS 6.7 # wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-compat-5.7.12-1.el6.x86... # rpm -qpl mysql-community-libs-compat-5.7.12-1.el6.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0
[12 May 2016 4:40]
monty solomon
It appears that libmysqlclient.so.18 is in mysql-community-libs-compat-5.7.8-0.3 but is not in any of the subsequent versions. Please provide both versions 16 and 18 in mysql-community-libs-compat on RHEL 6 / CentOS 6. # rpm -qpl mysql-community-libs-compat-5.7.8-0.3.rc.el7.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.18 /usr/lib64/mysql/libmysqlclient.so.18.1.0 /usr/lib64/mysql/libmysqlclient_r.so.18 /usr/lib64/mysql/libmysqlclient_r.so.18.1.0 # rpm -qpl mysql-community-libs-compat-5.7.9-1.el6.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 # rpm -qpl mysql-community-libs-compat-5.7.10-1.el6.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 # rpm -qpl mysql-community-libs-compat-5.7.11-1.el6.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 # rpm -qpl mysql-community-libs-compat-5.7.12-1.el6.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0
[12 May 2016 4:49]
monty solomon
For my previous comment I accidentally downloaded the el7 version of 5.7.8. The el6 version of 5.7.8 does not contain version 18 of the library. # rpm -qpl mysql-community-libs-compat-5.7.8-0.3.rc.el6.x86_64.rpm | grep client /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so.16 /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 Please add version 18 to mysql-community-libs-compat for el6.
[12 May 2016 13:21]
Terje Røsten
Hi! This is by design. EL6 versions of libs-compat contains libmysqlclient version found in distribution's version of mysql-libs. EL6 ships MySQL 5.1 with libmysqlclient.so.16, hence libs-compat ships this version. EL5 ships MySQL 5.0 and libmysqlclient.so.14, EL7 is similar with libmysqlclient.so.18. If you have software built against libmysqlclient, please rebuild against MySQL 5.7 headers and libs (libmysqlclient.so.20) or on a pure, clean system with mysql-libs and mysql-devel (from OS) installed and MySQL Repos disabled.
[13 May 2016 9:59]
MySQL Verification Team
Thank you Terje for the detailed explanation. @monty - As Terje explained, this is by design, and also outlined the workaround. I would mark it as !bg for now. Regards, Umesh
[14 May 2016 3:36]
monty solomon
We build multiple apps on a continuous integration (CI) server and want to deploy them anywhere. We run a mixed environment of MySQL 5.6 and MySQL 5.7 but the libmysqlclient.so.18 library is no longer available with MySQL 5.7 on RHEL 6/CentOS 6. If there is some compelling reason that the libmysqlclient.so.18 should not be added to the libs-compat package then it should be added to the libs package or to its own package. It does not make sense that the library just disappears with this release.
[3 Aug 2016 13:56]
Paul DuBois
Posted by developer: Noted in 5.7.14 changelog. On RPM-based systems, it is now easier to install multiple client library versions, such as for the case that you want to maintain compatibility with older applications linked against previous libraries. To install an older client library, use the --oldpackage option with rpm. For example, to install mysql-community-libs-5.5 on an EL6 system that has libmysqlclient.20 from MySQL 5.7, use a command like this: shell> rpm --oldpackage -ivh mysql-community-libs-5.5.50-2.el6.x86_64.rpm