| Summary: | mysql-workbench-oss перестала соединяться с mariadb, требует libmysqlclient_r.so | ||
|---|---|---|---|
| Product: | [ROSA-based products] ROSA Fresh | Reporter: | Artem <temap> |
| Component: | Contributed Packages | Assignee: | ROSA Linux Bugs <bugs> |
| Status: | VERIFIED FIXED | QA Contact: | ROSA Linux Bugs <bugs> |
| Severity: | major | ||
| Priority: | Normal | CC: | a.proklov, m.novosyolov, pastordidi, s.matveev, temap, v.potapov |
| Version: | All | Flags: | v.potapov:
qa_verified+
a.proklov: published+ |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Platform: | 2021.1 | ROSA Vulnerability identifier: | |
| RPM Package: | ISO-related: | ||
| Bad POT generating: | Upstream: | ||
|
Description
Artem
2023-11-04 17:25:30 MSK
Зачем вот это было сделано? https://abf.io/import/mariadb/blob/rosa2023.1/mariadb.spec#lc-526 Это убило совместимость не только с workbench, полагаю dnf repoquery -f /usr/lib64/libmysqlclient_r.so Последняя проверка окончания срока действия метаданных: 1:44:18 назад, Сб 04 ноя 2023 17:12:16. lib64mariadb-devel-0:3.1.13-2.x86_64 Забавно. Нужный файл есть в devel (In reply to Artem from comment #1) > Зачем вот это было сделано? > https://abf.io/import/mariadb/blob/rosa2023.1/mariadb.spec#lc-526 > Это убило совместимость не только с workbench, полагаю Там же написано, зачем. Клиентские библиотеки собираются не из mariadb, а из mariadb-connector-c, т.е. библиотеик для доступа к mysql обстрагированы от конкретной реализации mysql. (In reply to Artem from comment #2) > dnf repoquery -f /usr/lib64/libmysqlclient_r.so > Последняя проверка окончания срока действия метаданных: 1:44:18 назад, Сб 04 > ноя 2023 17:12:16. > lib64mariadb-devel-0:3.1.13-2.x86_64 > > Забавно. Нужный файл есть в devel В PR https://abf.io/import/mysql-workbench-oss/pull_requests/2 добавлена зависимость от devel-пакета, это дичь. Обычно такое бывает, когда библиотека подгружается по dlopen(). Значит надо запатчить так, чтобы dlopen-алась не libfoo.so, а libfoo.so.N. Сходу не нашел в исходниках dlopen(). Артем, раз у тебя настроено соединение с БД, запусти, пожалуйста, strace -f mysql-workbench 2>&1 | grep ibmysqlclient , что оно выдаст? Либо grep libmariadb.so (In reply to Mikhail Novosyolov from comment #4) > (In reply to Artem from comment #1) > > Зачем вот это было сделано? > > https://abf.io/import/mariadb/blob/rosa2023.1/mariadb.spec#lc-526 > > Это убило совместимость не только с workbench, полагаю > > Там же написано, зачем. Клиентские библиотеки собираются не из mariadb, а из > mariadb-connector-c, т.е. библиотеик для доступа к mysql обстрагированы от > конкретной реализации mysql. > И, кстати, шесть месяцев назад и даже больше было точно так же, это не менялось. $ strace -f mysql-workbench 2>&1 | grep libmysqlclient [pid 6091] openat(AT_FDCWD, "/usr/lib64/mysql-workbench/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/mysql-workbench/plugins/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v4/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v3/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v2/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/haswell/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/haswell/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/haswell/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/haswell/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/lib64/tls/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/tls/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/lib64/haswell/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/haswell/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/haswell/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/haswell/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/lib64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v4/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v3/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v2/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/haswell/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/haswell/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/haswell/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/haswell/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) [pid 6091] openat(AT_FDCWD, "/usr/lib64/tls/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/haswell/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/haswell/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/haswell/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/haswell/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/avx512_1/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/avx512_1/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/x86_64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> [pid 6091] openat(AT_FDCWD, "/usr/lib64/libmysqlclient_r.so", O_RDONLY|O_CLOEXEC <unfinished ...> Я нашёл ноутбук на котором я схему делал и посмотрел почему полгода назад работало. Я там установил в числе прочих и lib64mariadb-devel, просто отметив её тоже почему-то $ strace -f mysql-workbench 2>&1 | grep libmariadb
[pid 9093] openat(AT_FDCWD, "/usr/lib64/mysql-workbench/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
[pid 9093] openat(AT_FDCWD, "/usr/lib64/mysql-workbench/plugins/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
[pid 9093] openat(AT_FDCWD, "/usr/lib64/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = 3
[pid 9093] writev(1, [{iov_base="\t", iov_len=1}, {iov_base="libmariadb.so.3", iov_len=15}, {iov_base=" => ", iov_len=4}, {iov_base="/usr/lib64/libmariadb.so.3", iov_len=26}, {iov_base=" (0x", iov_len=4}, {iov_base="00007f6f3dd43000", iov_len=16}, {iov_base=")\n", iov_len=2}], 7 <unfinished ...>
[pid 9091] <... read resumed>"\tlibmariadb.so.3 => /usr/lib64/l"..., 512) = 68
[pid 9115] openat(AT_FDCWD, "/usr/lib64/mysql-workbench/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
[pid 9115] openat(AT_FDCWD, "/usr/lib64/mysql-workbench/plugins/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
[pid 9115] openat(AT_FDCWD, "/usr/lib64/libmariadb.so.3", O_RDONLY|O_CLOEXEC) = 3
********* QA ADVISORY ********* mysql-connector-c++ 1.1.9-3 - fix dlopen()'ing library https://abf.io/build_lists/4815560 https://abf.io/build_lists/4815561 https://abf.io/build_lists/4815562 https://abf.io/build_lists/4815563 https://abf.io/build_lists/4815564 mysql-workbench-oss 8.0.31-3 - в desktop-файл добавлен комментарий по-русски, добавлено упоминание mariadb - убрано сообщение о неподдерживаемой ОС при запуске программы https://abf.io/build_lists/4815576 https://abf.io/build_lists/4815577 (In reply to Mikhail Novosyolov from comment #11) > mysql-connector-c++ 1.1.9-3 > - fix dlopen()'ing library > https://abf.io/build_lists/4815560 > https://abf.io/build_lists/4815561 > https://abf.io/build_lists/4815562 > https://abf.io/build_lists/4815563 > https://abf.io/build_lists/4815564 (In reply to Mikhail Novosyolov from comment #12) > mysql-workbench-oss 8.0.31-3 > - в desktop-файл добавлен комментарий по-русски, добавлено упоминание mariadb > - убрано сообщение о неподдерживаемой ОС при запуске программы > https://abf.io/build_lists/4815576 > https://abf.io/build_lists/4815577 ***************************** Обновление отослано в Тестинг mysql-connector-c++-1.1.9-3 https://abf.io/build_lists/4815560 https://abf.io/build_lists/4815561 https://abf.io/build_lists/4815562 https://abf.io/build_lists/4815563 https://abf.io/build_lists/4815564 mysql-workbench-oss-8.0.31-3 https://abf.io/build_lists/4815576 https://abf.io/build_lists/4815577 ********************************* Advisory *************************** - fix dlopen()'ing library - minor and localization fixes ********************************************************************** QA Verified |