[MDEV-7771] missing client plugins when mariadb-shared is not installed Created: 2015-03-13  Updated: 2015-06-15  Resolved: 2015-06-15

Status: Closed
Project: MariaDB Server
Component/s: Packaging, Platform RedHat
Affects Version/s: 10.0.17
Fix Version/s: 10.0.20

Type: Bug Priority: Major
Reporter: Honza Horak Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux, Fedora


Issue Links:
Relates
relates to MDEV-3809 Change Debian packaging to use CPack ... Stalled
Sprint: 10.0.20

 Description   

I've installed only the following packages:
MariaDB-common-10.0.17-1.fc20.x86_64
MariaDB-client-10.0.17-1.fc20.x86_64

and tried to use auth_pam.so plugin. I got the following error:

ERROR 2059 (HY000): Authentication plugin 'dialog' cannot be loaded: /usr/lib64/mysql/plugin/dialog.so: cannot open shared object file: No such file or directory

...simply because the dialog.so is packaged in MariaDB-shared RPM.



 Comments   
Comment by Sergei Golubchik [ 2015-03-13 ]

In a sense, it's correct. Because dialog.so plugin is loaded by libmysqlclient.so, so they're packaged together.

But client tools from MariaDB-client are linked with libmysqlclient.a statically. That's why they work and don't require MariaDB-shared.

I see two possible fixes for this:

  1. move client plugins to a separate package, and both MariaDB-client and MariaDB-shared will require it
  2. link command-line clients dynamically with libmysqlclient.so (it's MDEV-290)

I'd generally prefer the second solution, many fine-grained packages are, in my opinion, confusing for users, and linking dynamically is just The Right Thing.

Comment by Honza Horak [ 2015-03-13 ]

Dynamic linking sounds fine to me. Just ad 1) that separate package could be MariaDB-common, right?

Comment by Sergei Golubchik [ 2015-03-13 ]

MariaDB-common is for files that are used both by the client and the server. So far I believed that client-side plugins are only used by the client. But now I'm thinking that in replication a server just might need them too. I'll see if that's right, and if yes — sure, I'll move client plugins to MariaDB-common.

Comment by Sergei Golubchik [ 2015-05-02 ]

hhorak, do I need to set obsoletes/conflicts somehow when moving files between packages? like new -common conflicts with the old -shared, or something like that?

Comment by Honza Horak [ 2015-06-12 ]

Yey, so big delay.. I don't think any obsoletes/conflicts changes are necessary in this case, the only important thing here are the Requires from -server and other packages, so all the packages have all necessary pieces installed if needed.

Comment by Sergei Golubchik [ 2015-06-15 ]

Ok, fixed.

I've only fixed RPMs, because DEBs are much more fragile and I don't want to break them. We will do this fix in DEB packages later, after MDEV-3809

Generated at Thu Feb 08 07:22:08 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.