Bug 1472456

Summary: missing libmysqlclient.so.18
Product: [Fedora] Fedora Reporter: David Hill <dhill>
Component: mariadbAssignee: Michal Schorm <mschorm>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: dciabrin, dhill, hhorak, jstanek, mbayer, mkocka, mmuzila, mschorm, praiskup
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:50:27 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:

Description David Hill 2017-07-18 19:25:25 UTC
Description of problem:
After updating to the latest mariadb packages, it seems like some libraries are missing or the symlinks are not being created properly

[root@zappa itunes]# yum reinstall mariadb-libs
Failed to synchronize cache for repo 'updates-testing', disabling.
Failed to synchronize cache for repo 'fedora27', disabling.
Failed to synchronize cache for repo 'fedora28', disabling.
Last metadata expiration check: 0:00:40 ago on Tue 18 Jul 2017 03:20:40 PM EDT.
Dependencies resolved.
=============================================================================================================================================================================================================================================
 Package                                                    Arch                                                 Version                                                         Repository                                             Size
=============================================================================================================================================================================================================================================
Reinstalling:
 mariadb-libs                                               i686                                                 3:10.2.6-4.fc27                                                 rawhide                                               147 k
 mariadb-libs                                               x86_64                                               3:10.2.6-4.fc27                                                 rawhide                                               144 k

Transaction Summary
=============================================================================================================================================================================================================================================

Total size: 292 k
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] mariadb-libs-10.2.6-4.fc27.x86_64.rpm: Already downloaded
[SKIPPED] mariadb-libs-10.2.6-4.fc27.i686.rpm: Already downloaded
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                     1/1
  Reinstalling     : mariadb-libs-3:10.2.6-4.fc27.x86_64                                                                                                                                                                                 1/4
  Running scriptlet: mariadb-libs-3:10.2.6-4.fc27.x86_64                                                                                                                                                                                 1/4
  Reinstalling     : mariadb-libs-3:10.2.6-4.fc27.i686                                                                                                                                                                                   2/4
  Running scriptlet: mariadb-libs-3:10.2.6-4.fc27.i686                                                                                                                                                                                   2/4
  Erasing          : mariadb-libs-3:10.2.6-4.fc27.i686                                                                                                                                                                                   3/4
  Running scriptlet: mariadb-libs-3:10.2.6-4.fc27.i686                                                                                                                                                                                   3/4
  Erasing          : mariadb-libs-3:10.2.6-4.fc27.x86_64                                                                                                                                                                                 4/4
  Running scriptlet: mariadb-libs-3:10.2.6-4.fc27.x86_64                                                                                                                                                                                 4/4
  Verifying        : mariadb-libs-3:10.2.6-4.fc27.x86_64                                                                                                                                                                                 1/4
  Verifying        : mariadb-libs-3:10.2.6-4.fc27.i686                                                                                                                                                                                   2/4
  Verifying        : mariadb-libs-3:10.2.6-4.fc27.x86_64                                                                                                                                                                                 3/4
  Verifying        : mariadb-libs-3:10.2.6-4.fc27.i686                                                                                                                                                                                   4/4
ls -altr
Reinstalled:
  mariadb-libs.i686 3:10.2.6-4.fc27                                                                                    mariadb-libs.x86_64 3:10.2.6-4.fc27

Complete!
[root@zappa itunes]# rpm -V mariadb-libs
missing     /usr/lib64/mysql/libmysqlclient.so.18
missing     /usr/lib/mysql/libmysqlclient.so.18



Version-Release number of selected component (if applicable):


How reproducible:
Don't know

Steps to Reproduce:
1. The packages were updated and python scripts fail to load libmysqlclient.so.18
2.
3.

Actual results:
Failure to connect to database

Expected results:
Succeeding in connecting to database.

Additional info:

Comment 1 Michal Schorm 2017-07-26 08:25:51 UTC
I was able to reproduce the issue partly with version you used (10.2.6-4).

However, it seems to be fixed in the latest version 10.2.7-5.

Can you please re-test, if you are still impacted after update to the latest version?

Comment 2 David Hill 2017-07-27 16:12:01 UTC
This is what I have :

mariadb-config-10.2.7-5.fc27.x86_64
mariadb-common-10.2.7-5.fc27.i686
mariadb-common-10.2.7-5.fc27.x86_64
mariadb-10.2.7-5.fc27.x86_64
mariadb-libs-10.2.7-5.fc27.x86_64
mariadb-libs-10.2.7-5.fc27.i686
mariadb-server-utils-10.2.7-5.fc27.x86_64
mariadb-server-10.2.7-5.fc27.x86_64
mariadb-errmsg-10.2.7-5.fc27.x86_64
 

I still have the problem.

Comment 3 Michal Schorm 2017-08-08 11:31:29 UTC
The package shows correct values:

$ rpm -qp --provides mariadb-libs-10.2.7-8.fc27.x86_64.rpm | grep mysql
libmariadb.so.3(libmysqlclient_18)(64bit)
libmysqlclient.so.18()(64bit)
libmysqlclient.so.18(libmysqlclient_16)(64bit)
libmysqlclient.so.18(libmysqlclient_18)(64bit)
mysql-libs = 3:10.2.7-8.fc27
mysql-libs(x86-64) = 3:10.2.7-8.fc27

$ rpmdev-extract mariadb-libs-10.2.7-8.fc27.x86_64.rpm | grep mysql
mariadb-libs-10.2.7-8.fc27.x86_64/usr/lib64/mysql/libmariadb.so.3
mariadb-libs-10.2.7-8.fc27.x86_64/usr/lib64/mysql/libmysqlclient.so.18

--

Note, that libmysqlclient.so.18 is symlink to libmariadb.so.3.
So I'd rather check the python script, because it actually uses different library.
The library *should* be 100% compatible - any issues should be reported to MariaDB upstream. However, MariaDB removed nearly all symbols, that are not in specification. (e.g. MySQL symbols that changes between versions, short-term features etc.)

Comment 4 Jan Kurik 2017-08-15 07:56:37 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Comment 5 Michal Schorm 2017-10-04 16:38:15 UTC
In rawhide the mariadb client library moved to the mariadb-connector-c package and it is no longer distributed with mariadb. However the package is required, so no functionality has been lost.

If you use rawhide fedora, please try to reproduce your issue with the latest set.

Comment 6 Michal Schorm 2017-10-26 15:50:27 UTC
Cannot reproduce.

If you encounter this issue ever again, feel free to re-open this bug and provide latest info.

Comment 7 David Hill 2017-11-13 21:48:15 UTC
This appears to be fixed with the latest packages.  Thank you again.

Comment 8 Michal Schorm 2017-11-13 23:37:45 UTC
Glad to hear it's fixed for you :)

Comment 9 Pavel Raiskup 2017-11-14 15:24:11 UTC
libmysqlclient.so.18 is not provided by the package, only by "fake" provides.
But that doesn't resolve any linking issues.  I propose to fix the issues
once and forever:

  https://src.fedoraproject.org/rpms/mariadb-connector-c

... plus, when needed, drop the broken packages that depend on this soname.