Отсутствие драйвера SQLite в пакете Qt 4 на Linux

Qt, Linux, SQLite

Дорого времени суток, работаю на Astra-linux, возникла необходимость в SQLite, драйвер которой ,вроде как, стандартный при установке Qt. Мною были установлены пакеты qt4-default и qtcreator, и в итоге драйвера там не оказалось, но вместе с этими двумя пакетами подтянулся и пакет qt5-default в котором есть данный драйвер. Узнал при помощи QLibraryInfo что qt ищет плагины по следующему пути: usr/lib/x86_64_linux_gnu/qt4/plugins, после этого пытался закинуть туда драйвер из пакета qt5, но безуспешно, qtcreator не видит этот драйвер. Сам qt5 в котором уже есть необходимый драйвер использовать не могу в силу требований. Кто нибудь сталкивался с такой проблемой? Или может кто знает пути решения?. Что я уже перепробовал: закинуть драйвер который лежит в qt5/plugins/sqldrivers/ во все возможные другие папки (например - в корень проекта или usr/lib и т. д.), изменить путь где происходит поиск плагинов использую команды как setLibraryPath и addLibraryPath.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

15
Evgenii Legotckoi
  • 25 мая 2020 г. 2:58

Добрый день.
Ищите, где скачать Qt 4 отдельно.
Из репозитория никто Qt не устанавливает, постоянно какие-то проблемы вылазят вроде ваших.

    Andrei Yankovich
    • 25 мая 2020 г. 3:01
    • (ред.)

    Решение 1 самое правельно.
    Избавится от Astra-linux (она не безопасна и не допилина).

    Решение 2
    https://github.com/qt/qt
    Клоним и билдим с нужными плагинами.
    ./configure -prefix ~/myNewQt4 -opensource -confirm-license -release -nomake examples -nomake tests -ccache -plugin-sql-sqlite
    make -j$nproc

    make install

    Опции я взял из qt5 так как сам ни разу не билдил 4 й qt. Если они не подойдут поищите на форумах опции для qt4.
    Вот тут

      Спасибо за ответы, буду пробовать. А от Astra-linux я бы с удовольствием избавился, но нельзя.

        Andrei Yankovich
        • 25 мая 2020 г. 3:28
        • (ред.)

        @Evgenij Sal'nikov как я тебя понимаю.

          o
          • 25 мая 2020 г. 3:39

          расскажите об этом нашим силовикам, они вот не в курсе и с интересом выслушают ваше экспертное мнение.

            o
            • 25 мая 2020 г. 3:41

            почему вы используете решение на qt4.x, если в астре 1.6 доступна версия 5.11?

              Andrei Yankovich
              • 25 мая 2020 г. 3:42

              Уже, их не интересует что под капотом.

                o
                • 25 мая 2020 г. 3:46
                • (ред.)

                тут есть огромная кнопка "сообщить об уязвимости", не плохо бы ей воспользоваться. тык

                  Да мне тоже интересно почему, но сказано qt4, стабильность, и тонна кода написана уже, не один год 4-ый qt используется. Да и астру 1.6 я буквально позавчера поставил. У большинста персонала до сих пор 1.4-1.5

                    o
                    • 25 мая 2020 г. 3:57

                    там 5.3 как минимум, но раз уж так, качать отсюда сорцы, а не с гитхаба, и собирать руками.

                      Andrei Yankovich
                      • 25 мая 2020 г. 4:17
                      • (ред.)

                      а клинится ты как будешь ?
                      на гихабе прямое зерколо, гараздо удобнее.

                      git clone https://github.com/qt/qt
                      cd qt 
                      git checkout v4.8.7
                      git submodule update --init --recursive
                      ./configure -prefix ~/myNewQt4 -opensource -confirm-license -release -nomake examples -nomake tests -ccache -plugin-sql-sqlite
                      make -j$nproc
                      make install
                      

                      в случае неуспеха выполнения configure выполнять git clean -xdf; git submodule foreach git clean -xdf

                        o
                        • 25 мая 2020 г. 4:25

                        Потому что ее не надо в систему ставить, т.к. пользователи не будут тянуть что-то с гитхаба и устанавливать. Эту библиотеку придется поставлять вместе с прогой. Соответсвенно, эту библиотеку надо билдить и работать с ней как с собственной библиотекой.

                          Andrei Yankovich
                          • 25 мая 2020 г. 4:31
                          • (ред.)

                          make install

                          установит qt в ~/myNewQt4 так как там префикс стоит в конфигуре

                          затем делаем так

                          ~/myNewQt4/bin/qmake myProject.pro
                          

                          после этого выполняем

                          cqtdeployer -bin myBildetApp -qmake ~/myNewQt4/bin/qmake 
                          

                          получаем дистрибутив со свежими только необюходимыми библиотеками qt
                          если боимся за рантайм то выполняем

                          cqtdeployer -bin myBildetApp -qmake ~/myNewQt4/bin/qmake -deploySystem
                          

                          если нужна еще инсталяшка

                          cqtdeployer -bin myBildetApp -qmake ~/myNewQt4/bin/qmake -deploySystem qif
                          

                          если проект из кучи библиотек

                          cqtdeployer -bin myBildetApp -qmake ~/myNewQt4/bin/qmake -deploySystem qif -libDir ~/myprojectSourceDir -recursiveDepth 5
                          

                          Внимание cqtdeployer работает только под астрой 1.6

                            Итак эта эпопея наконец подошла к концу после двух дней возьни. После того как вы мне подсказали возможные пути решения я пытался их применить, качая сорсы как с git так и с архива сайта qt, собирай их по разному. То у меня после использования make -j$nproc зависало все напроч и вылетало, то ./configure выдавал ошибки bash, то make install выдавал подобные ошибки :ошибка выполнения рецепта для цели obj/release/pcre_exec.o, вообщем крутил я все это как мог. Параллельно ища на просторах интренета, то что я еще не попробовал и наткнулся на следующую тему где написано что если поискать в неком synaptic по тегу qt sqlite то можно узнать о существовании пакета libqt4-sql-sqlite. Так как я пользуюсь linux-образными системами совсем немного, что такое synaptic Я не знаю, поэтому первое что я сделал это написал sudo apt install synaptic в консоле, на что получил ответ что synaptic уже установлен. Следом я загуглил что такое synaptic, и потом следуя аналогии apt написал sudo synaptic install libqt4-sql-sqlite, на что мне открылся менеджер пакетов synaptic. В нем в разределе "Средства разработки" я стал искать данный пакет(libqt4-sql-sqlite), но не нашел, зато нашел пакеты связанные с самим qt и увидел что для qt5 установлен пакет qt5-dev-tools а для qt4 такой пакет не установлен, заподозрив не ладное я стал его устанавливать и первой же строчной увидел, что сейчас будет установлен пакет libqt4-sql-sqlite, ну все думаю дело сделано. Все установилось полез проверять в usr/lib/x86_64_linux_gnu/qt4/plugins и там действительно появилась папка sqldrivers а в ней нужная мне либа. И вот запустив qtcreator и готовый наконец продолжить проект я получил по лицу и снова тот же ворох ошибок, что драйвера нету - база данных не открыта. Посидев минут 10, пересобрав проект пару раз и сделав пару перезагрузок, вспомнил о том что когда мне нужно работать с raw сокетами astra вынуждает меня запускать qtcreator через sudo и в этом случае открывается фантомный qtcreator который нужно настраивать отдельно и который создает для проектов свои файлы с настройками, и вот только после запуска через sudo очистив проект и перезапустив qmake, все наконецто заработало как надо.

                              BlinCT
                              • 26 мая 2020 г. 6:16

                              Вот честно непонимаю почему до сих пор используют qt4, там же столько всего отсутствует, много фишек и возможностей нету там. То есть используя такое старье приходится много писать самому а не использовать готовое и провереное из 5 версии.
                              Если бы мне сказали что надо использовать на работе 4 версию не мотивировав такое решение что на такой работе будет много проблем и проще уйти от туда.

                                Комментарии

                                Только авторизованные пользователи могут публиковать комментарии.
                                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                                AD

                                C++ - Тест 004. Указатели, Массивы и Циклы

                                • Результат:50баллов,
                                • Очки рейтинга-4
                                m
                                • molni99
                                • 26 октября 2024 г. 8:37

                                C++ - Тест 004. Указатели, Массивы и Циклы

                                • Результат:80баллов,
                                • Очки рейтинга4
                                m
                                • molni99
                                • 26 октября 2024 г. 8:29

                                C++ - Тест 004. Указатели, Массивы и Циклы

                                • Результат:20баллов,
                                • Очки рейтинга-10
                                Последние комментарии
                                i
                                innorwall14 ноября 2024 г. 19:42
                                Как Копировать Файлы в Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
                                i
                                innorwall14 ноября 2024 г. 17:09
                                Qt/C++ - Урок 068. Hello World с использованием системы сборки CMAKE в CLion ditropan pristiq dosing With the Yankees leading, 4 3, Rivera jogged in from the bullpen to a standing ovation as he prepared for his final appearance in Chicago buy priligy pakistan
                                i
                                innorwall14 ноября 2024 г. 12:05
                                EVILEG-CORE. Использование Google reCAPTCHA 2001; 98 29 34 priligy buy
                                i
                                innorwall14 ноября 2024 г. 12:00
                                PyQt5 - Урок 007. Работаем с QML QtQuick (Сигналы и слоты) priligy 30mg Am J Obstet Gynecol 171 1488 505
                                Сейчас обсуждают на форуме
                                i
                                innorwall14 ноября 2024 г. 11:39
                                добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
                                i
                                innorwall11 ноября 2024 г. 18:55
                                Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                                9
                                9Anonim25 октября 2024 г. 16:10
                                Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                                ИМ
                                Игорь Максимов3 октября 2024 г. 11:05
                                Реализация навигации по разделам Спасибо Евгений!

                                Следите за нами в социальных сетях