Russian Qt Forum

Qt => Базы данных => Тема начата: Luck от Март 09, 2010, 17:50



Название: QSqlDatabase: QPSQL driver not loaded
Отправлено: Luck от Март 09, 2010, 17:50
Здравствуйте.
Столкнулся с наболевшей (судя по попыткам решения через гугл и через поиск на форуме) проблемой: при работе с Postgre SQL во время запуска программы вылезает ошибка:

QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE

Qt 4.6.0
QtCreator 1.3.0
Postgre SQL 7.4.1 (необходимо использовать именно эту версию, а не более поздние)
OpenSUSE 11.2

Я пробовал:
1) пересобирать Qt с включением плагина psql, указывая путь к include и lib установленного Postgre SQL
2) прописать папки include и lib установленного Postgre SQL
3) скомпилировать плагин psql статически и включить его как статическую библиотеку в свою программу
4) отдельно перекомпилировать плагин, не пересобирая Qt и прописывая в psql.pro путь к include и lib установленного Postgre SQL
5) поместить все файлы из lib установленного Postgre SQL в каталог с исполняемым файлом, в /usr/lib, в /usr/local/lib
6) выполнить команду ldd libqsqlpsql.so из папки с файлом libqsqlpsql.so (ошибок нет, все находит)

Вроде бы, на этом мои изыскания заканчиваются... Ничего не помогло.
Есть идеи, что можно еще попробовать сделать?
P.S.: Пожалуйста, не отсылайте в поиск или в гугл: я там изрядно порылся, но не смог решить проблему.


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Пантер от Март 09, 2010, 17:57
Из портов Qt оставлял или заменял?
Скомпиль через -qt-sql-psql


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Luck от Март 09, 2010, 17:58
Заменял, ставил всю SDK из бинарника.

Через -qt-sql-psql тоже пробовал


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Пантер от Март 09, 2010, 18:04
Так. Давай сейчас по пунктам все расскажешь.
1. Удали все, что связано с Qt.
2. Скомпилируй с -qt-sql-psql.
3. Установи и попробуй.

Все подробно опиши сюда. Советую взять qt-everywhere-opensource-src-4.х.х.tar.gz


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Luck от Март 11, 2010, 09:15
1) Все снес;
2) Поставил Qt с -qt-sql-psql, указав include и lib постгреса
3) Не работает


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Пантер от Март 11, 2010, 10:43
Я же сказал по-пунктно и подробно


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Luck от Март 11, 2010, 11:06
Проблема решилась следующим образом:
1) установка openssl в /usr/local/ssl
2) установка libreadline-devel
3) копирование библиотеки libpq.so.3 из /usr/local/pgsql/lib в /usr/lib


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Пантер от Март 11, 2010, 11:09
Копировать не нужно, просто симлинк сделай.


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Luck от Март 11, 2010, 11:21
я не в курсе, что это... можно подробнее?


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Пантер от Март 11, 2010, 11:32
ln -s /usr/local/pgsql/lib/libpq.so.3 /usr/lib

Т.е. создаешь просто симлинк, указывающий на файл. Теперь при изменении /usr/local/pgsql/lib/libpq.so.3 копировать опять не нужно будет.


Название: Re: QSqlDatabase: QPSQL driver not loaded
Отправлено: Luck от Март 11, 2010, 11:32
спасибо