0
Under review

Не находит SQLite драйвер 2

jonasas 8 years ago updated 8 years ago 2

Так как игнорируется мой предыдущий пост, создаю второй.


Mint 18

При запуске из консоли пишет

QSqlDatabase: QSQLITE driver not loaded 
QSqlDatabase: available drivers: QSqlQuery::exec: database not open
QSqlQuery::value: not positioned on a valid record
QSqlQuery::exec: database not open
...

Как следствие -- не сохраняются настройки, учётная запись, не биндятся клавиши


Приложение стоит с архитектурой amd64

$ dpkg -l | grep joxi
ii  joxi    3.0.9    amd64        Joxi - nice screenshoter

Все либы стоят:

$ dpkg -l | grep sqlite
ii  libaprutil1-dbd-sqlite3:amd64                1.5.4-1build1                                      amd64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libqt4-sql-sqlite:amd64                      4:4.8.7+dfsg-5ubuntu2                              amd64        Qt 4 SQLite 3 database driver
ii  libqt5sql5-sqlite:amd64                      5.5.1+dfsg-16ubuntu7.1                             amd64        Qt 5 SQLite 3 database driver
ii  libsqlite0                                   2.8.17-12fakesync1                                 amd64        SQLite shared library
ii  libsqlite0-dev                               2.8.17-12fakesync1                                 amd64        SQLite development files
ii  libsqlite3-0:amd64                           3.11.0-1ubuntu1                                    amd64        SQLite 3 shared library
ii  libsqlite3-0:i386                            3.11.0-1ubuntu1                                    i386         SQLite 3 shared library 
ii  libsqlite3-dev:amd64                         3.11.0-1ubuntu1                                    amd64        SQLite 3 development files
Under review

Добрый день проверьте права на папку ~/.joxi

выставьте все права для нее

chmod 777 -R ~/.joxi

Не помогло.


Изучил strace, обратил внимание на строки:

[pid 29868] stat("/usr/lib/sqldrivers/.", 0x7ff15633ff20) = -1 ENOENT (No such file or directory)
[pid 29868] stat("/usr/bin/sqldrivers/.",  <unfinished ...>
[pid 29866] poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1 <unfinished ...>
[pid 29868] <... stat resumed> 0x7ff15633ff20) = -1 ENOENT (No such file or directory)

Поискал в системе, где есть папки sqldrivers.

Поставил символическую ссылку:

ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/sqldrivers /usr/lib/sqldrivers

И всё заработало!