#mysql #mariadb #debian
Вопрос:
Я пытаюсь настроить свою базу данных, и для этого я хотел бы попробовать клиентскую программу mariadb-test (или mysqltest). Я несколько раз пытался установить его через apt (который я обновил), загрузить пакет и установить с помощью dpkg, но я всегда сталкиваюсь с этой ошибкой:
mysqltest: symbol lookup error: mysqltest: undefined symbol: PCRE2regcomp
Я понимаю, что должна быть ошибка с зависимостями, но я не знаю, как ее решить.
Есть какие-нибудь предложения?
Спасибо
Окружающая среда:
- Разрушитель Debian
- MariaDB 10.5.12
- Nginx 1.18
ldd /usr/bin/mysqltest
linux-vdso.so.1 (0x00007ffd6dce5000)
libpcre2-posix.so.2 => /lib/x86_64-linux-gnu/libpcre2-posix.so.2 (0x00007f02e00cf000)
libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f02e003c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f02e001b000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f02dff89000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f02dfc9d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f02dfc98000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f02dfa78000)
libstdc .so.6 => /lib/x86_64-linux-gnu/libstdc .so.6 (0x00007f02df8f4000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f02df771000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f02df5b0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f02e0524000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f02df596000)
Редактировать:
Ладно, теперь это становится странным. Я создал виртуальную машину со свежей установкой debian, установил mariadb-server-10.5 в соответствии с этим, установил mariadb-тест из apt и заставил его работать. Затем я реплицировался на сервере, удалил старый репозиторий из списка apt/sources., добавил его по ссылке, удалил mariadb-тест и связанные библиотеки pcre и переустановил mariadb-тест из apt.
Та же ошибка.
ldd /bin/mariadb-тест выдает одинаковые результаты на обеих машинах (за исключением шестнадцатеричных чисел).
Поэтому на данный момент я не уверен, что проблема в пакетах, но на самом деле не знаю, что делать дальше.
Комментарии:
1. если это пакет debian, сообщите в bugs.debian.org. Если это отчет о распространяемом пакете MariaDB для jira.mariadb.org.
2. Привет @danblack, спасибо за ваш комментарий. Я сообщал об ошибке в debien, когда она предупредила меня, что бастер поставляется с mariadb 10.3, а не 10.5. Так что это не проблема с пакетом debian. Но поскольку я смог заставить mariadb-тест работать над новой установкой, я не думаю, что это также проблема с пакетами MariaDB. Дайте мне знать, если у вас есть какие-либо другие предложения.
Ответ №1:
Пакеты Debian и MariaDB установили mariadb-тест в /usr/bin.
Это похоже, возможно, на двоичный файл, который был установлен в / с —skip-префиксом=1. Отсутствующий символ связан с тем, что он был снова связан с версией pcre 1, а не с версией 2.
Это также ошибка распространения, так как двоичные тарболлы должны были быть статически связаны.
Комментарии:
1. Еще раз спасибо, что заглянули в этот @danblack. У вас есть какие-нибудь предложения о том, как я мог бы это исправить? Извините, если я что-то упустил.
2. Это выглядит как испорченная скомпилированная версия pcre2 в вашей системе. Единственная ссылка на PCRE2regcomp, которую я видел, находится в файле readme github.com/luvit/pcre2 , в качестве необязательного параметра компиляции. mariadb-тест посвящен функциональному тестированию сервера MariaDB. На самом деле это не поможет вам с настройкой. Задайте вопрос о настройке на dba.stackexchange.com с вашей конфигурацией и
show global status
выводом.