Bug 1592176

Summary: dependency not listed (cqrlog requires mariadb-connector-c-devel)
Product: [Fedora] Fedora Reporter: Robert Wilhite <fedzilla>
Component: cqrlogAssignee: Richard Shaw <hobbes1069>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: hobbes1069, lieb
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: cqrlog-2.3.0-1.fc27 cqrlog-2.3.0-1.fc28 cqrlog-2.3.0-3.fc28 cqrlog-2.3.0-3.fc29 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-04 02:22:50 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:
Attachments:
Description Flags
CQRLOG - transcript of install from testing repo
none
git patch file for update none

Description Robert Wilhite 2018-06-18 03:32:29 UTC
Description of problem:
The 'cqrlog' executable won't function as installed by default. It requires the /usr/lib64/libmysqlclient.so library, which is not listed as a dependency.

Version-Release number of selected component (if applicable):
cqrlog-2.2.0-4.fc28.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Install 'cqrlog' package w/ 'dnf install cqrlog'
2. Run 'cqrlog' from command prompt
3. Diagnostics appear on GUI

Actual results:
Window pops open saying 'Error during connection to database: Can not load default MySQL library ("libmysqlclient.so.16" or "libmysqlclient.so"). Check your installation.'

Expected results:


Additional info:
Installing the 'mariadb-connector-c-devel' package resolves this; the application then works just fine.

Comment 1 Richard Shaw 2018-06-18 12:43:15 UTC
Technically a package should not require a -devel package at runtime but I think this has to do with cqrlog not following the symlink to libmariadb.so and requiring it instead.

Comment 2 Richard Shaw 2018-06-18 18:26:11 UTC
Ok, I patched cqrlog to look for libmariadbclient.so instead and a basic test seemed to work for me.

Please test this updated scratch build. It's also of the latest release, 2.3.0.

https://koji.fedoraproject.org/koji/taskinfo?taskID=27706583

Comment 3 Fedora Update System 2018-06-20 22:26:48 UTC
cqrlog-2.3.0-1.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-fba71b52d5

Comment 4 Fedora Update System 2018-06-20 22:27:00 UTC
cqrlog-2.3.0-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-cc58d7d472

Comment 5 Fedora Update System 2018-06-21 13:41:11 UTC
cqrlog-2.3.0-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-cc58d7d472

Comment 6 Fedora Update System 2018-06-21 16:14:16 UTC
cqrlog-2.3.0-1.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-fba71b52d5

Comment 7 Robert Wilhite 2018-06-21 21:00:22 UTC
Created attachment 1453609 [details]
CQRLOG - transcript of install from testing repo

Not working in F28 yet.  Installed the package from updates-testing on a fresh install of XFCE spin.  (Doing so also pulled in a few more testing packages - see transcript attachment.)

Running cqrlog then produced the same library error.

Comment 8 Richard Shaw 2018-06-21 21:24:12 UTC
Ok, when I tested locally I got this and thought it was OK:

Cqrlog Ver:2.3.0 (001) Date:2018-06-17
**** DEBUG LEVEL 1 ****

SSL libraries:
   /usr/lib64/libssl.so.1.0.2o
   /usr/lib64/libcrypto.so.1.0.2o
Loading libmariadbclient:
**************************
MySQL version: 10.
**************************


I can't easily remove mariadb-connector-c-devel because it would cause other packages I need to be removed.

Comment 9 Fedora Update System 2018-06-29 08:05:25 UTC
cqrlog-2.3.0-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2018-06-29 08:43:00 UTC
cqrlog-2.3.0-1.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Jim Lieb 2018-10-28 03:07:58 UTC
Created attachment 1498211 [details]
git patch file for update

This is a better patch for fixing the libmysqlclient.so <-> mariadb.so mess.

Note that this does not fix everything. fpc is also broken for current mariadb as
well.

This works with the initial setup work but does not work for a local db instance that is forked by cqrlog. That instatiation uses the mysql.inc in fpcsrc which has mysqlclient.so hardwired.

Comment 12 Jim Lieb 2018-10-28 20:14:02 UTC
See BZ #1643734, the related fpc bug I filed. The last comment is of note.

I am not deep enough into mariadb/mysql packaging to offer much but clearly the advice in the mariadb changes is not complete. I am also not familiar with fpc and its ecosystem. Hint, my last touch of Pascal was in the '80s...

In either event, this whole bit is fragile as well as opaque. I don't understand why upstream (either fpc or cqrlog) has to go to all this work to make the db connector a dynamic load, especially if mysql/mariadb is the only db option. Then again, such is way outside the scope of packaging. If you can just fix the buildrequires and/or requires to pick up a libmysqlclient.so linkage, go for it.

Comment 13 Richard Shaw 2018-11-09 18:17:56 UTC
A devel package should not be required to run anything but this is such a mess I guess I'm just going to have to add it until fpc comes up with a better solution.

Comment 14 Richard Shaw 2018-11-09 18:32:06 UTC
Patches as attachements are OK but a pagure pull request would be easier to implement. I went ahead and added the -devel package and kicked off a build. I canceled it but the changes are still checked in.

Can you rebase the spec part of your patch and do a pull request in pagure?

https://src.fedoraproject.org/rpms/cqrlog

Comment 15 Fedora Update System 2018-11-25 19:45:13 UTC
cqrlog-2.3.0-3.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-aa1d2801fc

Comment 16 Fedora Update System 2018-11-25 19:45:18 UTC
cqrlog-2.3.0-3.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-d141de0426

Comment 17 Fedora Update System 2018-11-26 01:04:58 UTC
cqrlog-2.3.0-3.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-d141de0426

Comment 18 Fedora Update System 2018-11-26 02:46:18 UTC
cqrlog-2.3.0-3.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-aa1d2801fc

Comment 19 Fedora Update System 2018-12-04 02:22:50 UTC
cqrlog-2.3.0-3.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 20 Fedora Update System 2018-12-04 03:04:31 UTC
cqrlog-2.3.0-3.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.