ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Dmitry V. Levin" <ldv@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] Переход на  libmysqlclient21 (MySQL8.0)
Date: Tue, 5 Feb 2019 23:04:09 +0300
Message-ID: <20190205200409.GA22931@altlinux.org> (raw)
In-Reply-To: <a975daec-1099-df7d-3134-9c868a91d622@basealt.ru>

[-- Attachment #1: Type: text/plain, Size: 3102 bytes --]

On Tue, Feb 05, 2019 at 09:23:31PM +0300, Anton Farygin wrote:
> 05.02.2019 21:00, Dmitry V. Levin пишет:
> > On Tue, Feb 05, 2019 at 08:55:14PM +0300, Anton Farygin wrote:
> >> 05.02.2019 20:24, Dmitry V. Levin пишет:
> >>> On Tue, Feb 05, 2019 at 06:50:50PM +0300, Nikolai Kostrigin wrote:
> >>>> Уважаемые коллеги, здравствуйте!
> >>>>
> >>>> Для полноценного перехода на MySQL 8.0 в Сизифе необходимо пересобрать
> >>>> ряд пакетов с libmysqlclient21.
> >>> Уточните, пожалуйста, почему в Сизифе нужно переходить
> >>> на libmysqlclient.so.21, а не на libmariadb.so.3?
> >> А почему в сизифе нужно переходить на gcc8, а не, например, icc 19 ?
> >>
> >> Наверное, ответ очевиден - это две разные библиотеки.
> > Не совсем очевидно, поскольку у них был общий предок.
> > Если клиентам всё равно, с чем линковаться, то что им рекомендовать,
> > -lmariadb или -lmysqlclient?
> 
> Ну выбор очевиден - если всё-таки тебе нужен mysqlclient, то выбирай 
> его. mariadb это не чистая замена для mysqlclient.

Моя гипотеза заключается в том, что большинству приложений всё равно,
но я не проверял.  Таким нетребовательным клиентам как postfix-mysql,
например, точно всё равно.

> Т.к. mariadb продолжает пытаться притворяться mysql, то разведены они 
> совсем фигово. Но у меня были случаи, когда приложение не собиралось с 
> mariadb, но при этом собиралось с mysqlclient:
> https://bugzilla.altlinux.org/show_bug.cgi?id=35004 - тут есть некоторые 
> подробности, если интересно.
> 
> Ещё можно посмотреть сюда: 
> https://mariadb.com/kb/en/library/mariadb-vs-mysql-compatibility/ - тут 
> есть некоторый список несовместимостей между этими базами - mariadb и mysql
> 
> > По той же причине не очевидно, достаточно ли хорошо они разведены?
> > Если libmariadb и libmysqlclient прямо или косвенно окажутся загруженными
> > в память одного приложения, не приведёт ли механизм elf symbol interposition
> > к тому, что эти библиотеки помешают друг другу?
> > ]]
> 
> Они разведены плохо (точнее никак), поэтому лучше оставить кого-то 
> одного в devel части. Библиотеки мешают друг другу так же как и раньше 
> мешал libmysqlclient19 вместе с libmysqlclient20 - мы не знаем об 
> известных случаях падений приложений, загружающих сразу две версии 
> libmysqlclient.

Я сравнил списки символов, экспортируемых libmariadb.so.3 и libmysqlclient.so.21:
110 общих с префиксом mysql_,
114 только в libmariadb, из которых 83 с префиксом mysql_,
8 только в libmysqlclient, из которых 4 с префиксом mysql_.

Другими словами, libmariadb и libmysqlclient, будучи загруженными
одновременно, вероятно, будут мешать друг другу.

> Что касается совместимости, то приложения, слинкованные с mysqlclient - 
> пока нормально подключаются туда и туда, надеюсь это поведение так и 
> останется.
> Честно говоря, мне не очень хочется повторять историю с ffmpeg, когда мы 
> долгое время жили с его форком (libav), при этом страдали все, кроме 
> ментейнера ;)

Тут хорошо бы угадать с выбором форка.
Какой выбор сделали другие: Debian, Fedora, OpenSUSE?


-- 
ldv

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

  reply	other threads:[~2019-02-05 20:04 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-05 15:50 Nikolai Kostrigin
2019-02-05 17:24 ` Dmitry V. Levin
2019-02-05 17:55   ` Anton Farygin
2019-02-05 18:00     ` Dmitry V. Levin
2019-02-05 18:23       ` Anton Farygin
2019-02-05 20:04         ` Dmitry V. Levin [this message]
2019-02-05 20:31             ` Dmitry V. Levin
2019-02-23  7:52         ` Sergey Y. Afonin
2019-02-23  8:19           ` Sergey Y. Afonin
2019-02-23 12:35             ` Alexey V. Vissarionov
2019-02-24  6:56             ` Anton Farygin
2019-02-24  7:16               ` Sergey Y. Afonin
2019-02-06  9:42       ` Paul Wolneykien
2019-02-06  9:48         ` Sergey Afonin
2019-02-06 10:21           ` Paul Wolneykien
2019-02-06 13:56 ` Sergey V Turchin
2019-02-07  4:45   ` Anton Farygin
2019-02-07  7:05     ` Nikolai Kostrigin
2019-02-07  7:36       ` Sergey Afonin
2019-02-07  7:20     ` Sergey V Turchin
2019-02-07 11:07   ` Sergey V Turchin
2019-02-07  9:20 ` Sergey V Turchin
2019-02-07 14:22 ` Sergey V Turchin
2019-03-07  8:45       ` Ivan A. Melnikov
2019-03-15  7:22     ` [devel] define my_bool (was: Переход на libmysqlclient21 (MySQL8.0)) Sergey V Turchin
2019-03-16 18:26       ` Michael Shigorin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190205200409.GA22931@altlinux.org \
    --to=ldv@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git