[MDEV-13934] /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 not found Created: 2017-09-28  Updated: 2017-11-05

Status: Confirmed
Project: MariaDB Server
Component/s: Packaging
Affects Version/s: 10.2
Fix Version/s: 10.2

Type: Bug Priority: Major
Reporter: Kraeutergarten Assignee: Sergei Golubchik
Resolution: Unresolved Votes: 0
Labels: None
Environment:

Debian Stretch


Issue Links:
Problem/Incident
is caused by MDEV-13589 libmariadbclient18 is broken when usi... Closed

 Description   

After upgrading mariadb to 10.2.9 i get the following error:

Sep 28 09:34:07 ns1 pdns_server[12841]: Sep 28 09:34:07 Unable to load module '/usr/lib/x86_64-linux-gnu/pdns/libgmysqlbackend.so': libmariadbclient.so.18: cannot open shared object file: No such file or directory

/usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 isn't anymore there.

Hotfix:

ln -s libmariadb.so.3 /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18

ii  libmariadb3                          10.2.9+maria~stretch           amd64        MariaDB database client library
ii  libmariadbclient18                   10.2.9+maria~stretch           amd64        Virtual package to satisfy external depends
ii  libmysqlclient18                     10.2.9+maria~stretch           amd64        Virtual package to satisfy external depends
ii  mariadb-client-10.2                  10.2.9+maria~stretch           amd64        MariaDB database client binaries
ii  mariadb-client-core-10.2             10.2.9+maria~stretch           amd64        MariaDB database core client binaries
ii  mariadb-common                       10.2.9+maria~stretch           all          MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
ii  mariadb-server                       10.2.9+maria~stretch           all          MariaDB database server (metapackage depending on the latest version)
ii  mariadb-server-10.2                  10.2.9+maria~stretch           amd64        MariaDB database server binaries
ii  mariadb-server-core-10.2             10.2.9+maria~stretch           amd64        MariaDB database core server files
ii  mysql-common                         10.2.9+maria~stretch           all          MariaDB database common files (e.g. /etc/mysql/my.cnf)

Edit:
After reinstalling

apt install libmariadbclient18 --reinstall

The link is also there.



 Comments   
Comment by Sergei Golubchik [ 2017-09-28 ]

This was most probably caused by fixes in debian packaging in 10.2.9.

in 10.2.8 and earlier, libmariadb3 package installed libmariadbclient.so.18 and libmysqlclient.so.18 symlinks, and libmariadbclient18 and libmysqlclient18 packages were empty. They depended on libmariadb3, so if one would install libmariadbclient18, she'd get symlinks all right. The problem was that after that, if one would remove symlinks and reinstall libmariadbclient18 — symlinks wouldn't come back. The fix was to move symlinks to their corresponding packages, in 10.2.9 libmariadb3 package installs only libmariadb.so.3, while libmariadbclient.so.18 is installed by libmariadbclient18 package (that's why reinstall helped).

This doesn't explain, though, why libmariadbclient.so.18 disappeared for you. If you could tell how to repeat this effect, I'll be able to fix it.

Comment by Kraeutergarten [ 2017-09-28 ]

I only upgraded the Packages.

apt update
apt upgrade

After that the softlink was deleted on 6 diffrent server.

Comment by Kraeutergarten [ 2017-09-28 ]

Someone has the same problem: https://jira.mariadb.org/browse/MDEV-13588?focusedCommentId=100873&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-100873

Comment by Sergei Golubchik [ 2017-09-28 ]

Yes, that was exactly the issue we've fixed in 10.2.9, it was MDEV-13589. The scenario was explained in this comment. And underlying reason was that libmariadbclient18 package was empty, it did not install libmariadbclient.so.18 symlink. This was fixed in 10.2.9.

Comment by Elena Stepanova [ 2017-11-05 ]

serg wrote:

This doesn't explain, though, why libmariadbclient.so.18 disappeared for you. If you could tell how to repeat this effect, I'll be able to fix it.

serg, if this question is still open, it's reproducible rather easily without removing the symlinks.

Initial state -- clean

$ dpkg -l | grep -iE 'maria|mysql'
<empty>

Install from 10.2.8 repo

$ sudo apt-get install mariadb-server
...
$ dpkg -l | grep -iE 'maria|mysql'
ii  libdbd-mysql-perl             4.041-2                        amd64        Perl5 database interface to the MariaDB/MySQL database
ii  libmariadb3                   10.2.8+maria~stretch           amd64        MariaDB database client library
ii  libmariadbclient18            10.2.8+maria~stretch           amd64        Virtual package to satisfy external depends
ii  mariadb-client-10.2           10.2.8+maria~stretch           amd64        MariaDB database client binaries
ii  mariadb-client-core-10.2      10.2.8+maria~stretch           amd64        MariaDB database core client binaries
ii  mariadb-common                10.2.8+maria~stretch           all          MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
ii  mariadb-server                10.2.8+maria~stretch           all          MariaDB database server (metapackage depending on the latest version)
ii  mariadb-server-10.2           10.2.8+maria~stretch           amd64        MariaDB database server binaries
ii  mariadb-server-core-10.2      10.2.8+maria~stretch           amd64        MariaDB database core server files
ii  mysql-common                  10.2.8+maria~stretch           all          MariaDB database common files (e.g. /etc/mysql/my.cnf)
$ ls -l /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18
lrwxrwxrwx 1 root root 15 Aug 17 06:07 /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 -> libmariadb.so.3

Upgrade from the current 10.2 repo (10.2.10)

$ sudo apt-get update
$ sudo apt-get upgrade
 
$ dpkg -l | grep -iE 'maria|mysql'                                                                                                             
ii  libdbd-mysql-perl             4.041-2                        amd64        Perl5 database interface to the MariaDB/MySQL database
ii  libmariadb3                   10.2.10+maria~stretch          amd64        MariaDB database client library
ii  libmariadbclient18            10.2.10+maria~stretch          amd64        Virtual package to satisfy external depends
ii  mariadb-client-10.2           10.2.10+maria~stretch          amd64        MariaDB database client binaries
ii  mariadb-client-core-10.2      10.2.10+maria~stretch          amd64        MariaDB database core client binaries
ii  mariadb-common                10.2.10+maria~stretch          all          MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
ii  mariadb-server                10.2.10+maria~stretch          all          MariaDB database server (metapackage depending on the latest version)
ii  mariadb-server-10.2           10.2.10+maria~stretch          amd64        MariaDB database server binaries
ii  mariadb-server-core-10.2      10.2.10+maria~stretch          amd64        MariaDB database core server files
ii  mysql-common                  10.2.10+maria~stretch          all          MariaDB database common files (e.g. /etc/mysql/my.cnf)
 
$ ls -l /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18
ls: cannot access '/usr/lib/x86_64-linux-gnu/libmariadbclient.so.18': No such file or directory

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