← Back to team overview

maria-discuss team mailing list archive

Re: MariaDB 10.2.7 and libmysql compatibility


Am 13.07.2017 um 20:54 schrieb Sergei Golubchik:
Hi, Reindl!

On Jul 13, Reindl Harald wrote:
i am missing something (probably simple like symbol versioning however
done with some hack) or is it really not possible by providing symlinks
to avoid "libmysqlclient.so.18 => not found" and all clients linked
against 10.1.x failing?

I'm not quite sure.

I used to think that symlinks don't solve the issue,
and one needs the correct SONAME value inside the dynamic library.
And I created MDEV-9294.

But many people were asking for and complaining about symlinks, and
nobody said that they didn't help. So I thought that may be I
misunderstood the documentation and symlinks are enough.

Now it looks like we might still need to imlement MDEV-9294 after all...

looks so

the other option for downstream is take 10.1.x sources and build a "mariadb-libs-compat" only install the client libraries which was done in 3rd party repos years ago to somehow get a newer mysql version without breaking already installed apllications and to avoid collisions between 3rd party and distribution packages

IMHO such things should be considered through development and rename things because with my admin hat on i would never ever do a dist-upgrade with introduces a major upgrade of critical packages like mariadb/mysql, php, dovecot, postfix and the last 10 years i spent much energy to always get this upgrades out with the old distro version

upgrade/downgrade a single piece of the software is much nicer than sit after the dist-upgrade with "this should not have happened and was not isible in all the tests"

smooth transitions between major versions are the key for fast adoption and there are not much sysadmins like me which are also capable to build packages, write most of the software inhouse and control/build/prepare neartly any piece of software in the whole infrastructure - frankly, i donät know how i would all this things wihtout beeing able to to all that jobs at once - stick on a CentOS with ages old software for decades is also not a solution

attached my current rpm-spec - the server itself works fine and i
really want to avoid building a "server-only" package for the whole
lifetime of Fedora25/26 as well as not wait for Fedora 27 to get

[root@testserver:/usr/lib64/mysql]$ ls
insgesamt 308K
lrwxrwxrwx 1 root root   13 2017-07-13 13:15 libmysqlclient.so.18.0.0 -> libmariadb.so
lrwxrwxrwx 1 root root   13 2017-07-13 13:15 libmysqlclient.so.18 -> libmariadb.so
-rwxr-xr-x 1 root root 305K 2017-07-13 13:15 libmariadb.so.3
lrwxrwxrwx 1 root root   15 2017-07-13 13:15 libmariadb.so -> libmariadb.so.3
lrwxrwxrwx 1 root root   17 2017-07-13 13:15 libmysqlclient_r.so -> libmysqlclient.so
lrwxrwxrwx 1 root root   13 2017-07-13 13:15 libmysqlclient.so -> libmariadb.so

[root@testserver:/usr/lib64/mysql]$ ldd /usr/sbin/dbmail-imapd
          libmysqlclient.so.18 => not found