Версия пакета: libmysqlclient21-8.0.30-alt1.1 Шаги воспроизведения: # apt-get install python-module-PyQt4 libqt4-sql-mysql libmysqlclient21 Создать и запустить скрипт: $ cat > test.py <<EOF import sys from PyQt4 import QtGui, QtCore, QtSql appcore = QtCore.QCoreApplication(sys.argv) db = QtSql.QSqlDatabase.addDatabase('QMYSQL') EOF $ python2 test.py Получаемый результат: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QMYSQL3 QMYSQL Примечание: Ошибка не воспроизводится, если откатить libmysqlclient21 до версии 8.0.20-alt2
Попробуйте с build#316279
(Ответ для Sergey V Turchin на комментарий #1) > Попробуйте с build#316279 $ python2 test.py QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: Не помогло и "available drivers: " стало пустым.
(Ответ для Alexander Makeenkov на комментарий #2) > Не помогло и "available drivers: " стало пустым. На чистом Qt4 и до обновления из build#316279 и после список драйверов не изменился. Возможно, дело в PyQt4.
(Ответ для Sergey V Turchin на комментарий #3) > На чистом Qt4 и до обновления из build#316279 и после список драйверов не > изменился. Т.е. QMYSQL загружается корректно. Если попытаться использовать несуществующий драйвер, ругается: QSqlDatabase: UNKNOWNSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL3 QMYSQL
Есть идеи, как чинить регрессию? Пока приходится откатывать libmysqlclient21.
добавил в build#316279 пересборку python-module-PyQt4, авось поможет.
(Ответ для Sergey V Turchin на комментарий #6) > добавил в build#316279 пересборку python-module-PyQt4, авось поможет. Не, не помогло.
Может, посмотреть, какие изменения были в libmysqlclient21 и откатить что-то из этого? Вдруг там что-то тривиальное?
Актуально для libmysqlclient21-8.0.35-alt1.1
Столкнулся с этой проблемой, нашёл в ltrace сообщение "cannot allocate memory in static TLS block" далее нашёл https://bugs.mysql.com/bug.php?id=113029 совет оттуда $ LD_PRELOAD=/usr/lib64/libstdc++.so.6 python2 test.py помогает, программа ругачих сообщений не пишет, db создаёт, «print db.isValid()» печатает «True». Товарищи из ubuntu вроде как решали подобную головоломку в 2020 году - https://bugs.launchpad.net/ubuntu/+source/opencv/+bug/1890170 https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1889851
Видимо, mysql надо собирать с -ftls-model=initial-exec
Created attachment 15555 [details] Отменяю Faster TLS model
(Ответ для Sergey V Turchin на комментарий #11) > Видимо, mysql надо собирать с -ftls-model=initial-exec Наоборот, для этой задачи нехорошо собирать mysql с tls-model=initial-exec. патч приложил, у меня test.py заработал.
Здравствуйте товарищи, прошу пояснения по этой задаче. Два месяца назад я предложил патч, который, как мне кажется, решает задачу. Отсутствие реакции на этот патч несколько обескураживает. Подскажите, пожалуйста, что пошло не так: - я неправильно подал патч, - этот патч не применим, - этот патч не решает задачу, - этот патч решает задачу, но создаёт новые, - эту задачу правильнее решать изменениями в загрузчике (компиляторе, etc), поэтому решение из этого патча негодно, - все кто способен проверить и как-то высказаться сильно заняты стратегическими задачами, - эта задача совсем не важна, и необходимость даунгрейда libmysqlclient21 заботит только редких дятлов типа меня?
(Ответ для Vadim Zelenin на комментарий #14) > Здравствуйте товарищи, > прошу пояснения по этой задаче. > Два месяца назад я предложил патч, который, как мне кажется, решает задачу. > Отсутствие реакции на этот патч несколько обескураживает. > Подскажите, пожалуйста, что пошло не так: > - я неправильно подал патч, > - этот патч не применим, > - этот патч не решает задачу, > - этот патч решает задачу, но создаёт новые, > - эту задачу правильнее решать изменениями в загрузчике (компиляторе, etc), > поэтому решение из этого патча негодно, > - все кто способен проверить и как-то высказаться сильно заняты > стратегическими задачами, > - эта задача совсем не важна, и необходимость даунгрейда libmysqlclient21 > заботит только редких дятлов типа меня? Добрый день, были собраны таски: p10: https://packages.altlinux.org/ru/tasks/344380/ c10f1: https://packages.altlinux.org/ru/tasks/344393/ Сможете у себя проверить?
(Ответ для Шевченко Денис на комментарий #15) > Сможете у себя проверить? для p10 - проверил, на первый взгляд всё работает. с c10f1 проверить не могу - не располагаю. Если бы подобый патч и до p9 дошёл, то тоже было бы хорошо - здесь тоже приходится даунгрейдить libmysqlclient21 :(
(Ответ для Vadim Zelenin на комментарий #16) > (Ответ для Шевченко Денис на комментарий #15) > > Сможете у себя проверить? > > для p10 - проверил, на первый взгляд всё работает. > с c10f1 проверить не могу - не располагаю. > > Если бы подобый патч и до p9 дошёл, то тоже было бы хорошо - здесь тоже > приходится даунгрейдить libmysqlclient21 :( p9: https://packages.altlinux.org/ru/tasks/345206/
(Ответ для Шевченко Денис на комментарий #17) > p9: https://packages.altlinux.org/ru/tasks/345206/ Работает :)
Простите за навязчивость, просто прошёл ещё месяц. Итого - три месяца назад я заслал патч решающий проблему, месяц назад подтвердил что если этот патч применяет товарищ из alt , то он точно так же работает как если бы этот патч применял я сам. Между прочим, эта проблема проявляется не только в python2+PyQt4, но и python3+PyQt5 и python3+PySide2.
Версия пакета: libmysqlclient21-8.0.39-alt1 Ошибка актуальна.
359829 EPERM #2 sisyphus MySQL.git=8.0.39-alt1.1
MySQL-8.0.39-alt1.1 -> sisyphus: Tue Oct 15 2024 Andrey Cherepanov <cas@altlinux> 8.0.39-alt1.1 - disable use Faster TLS model (ALT #45499).