Summary: | SQLite version of the system not aligned with embedded in Qt when using sqlcipher | ||
---|---|---|---|
Product: | [Applications] skrooge | Reporter: | Nikita Krupenko <krnekit> |
Component: | general | Assignee: | Stephane MANKOWSKI <stephane> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | stephane |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Mageia RPMs | ||
OS: | Linux | ||
URL: | https://bugs.mageia.org/show_bug.cgi?id=16708 | ||
Latest Commit: | http://commits.kde.org/skrooge/b9b4e6469100d517b7722554abccf601dd439db8 | Version Fixed In: | |
Attachments: | Build without sqlite3 fail output |
Description
Nikita Krupenko
2015-09-13 20:38:58 UTC
Do you have the same issue with the official last version (2.1.1) ? You can download it here: https://skrooge.org/download Yes, as I said, I compiled from git, it has tag 2.1.1. Hi, In fact Skrooge compares the sqlite (or sqlcipher) version with the sqlite (or sqlcipher) version of the Qt driver. In SQLCipher mode, the Qt driver is built by Skrooge. In you case, the SQLCipher driver built by Skrooge doesn't have the same version as SQLCipher. This is not normal. I think this is because, when you build Skrooge, the sqlite.h file of sqlite is found before the sqlite.h file of sqlcipher. Are you sure you installed libsqlcipher-dev? (To be sure remove libsqlite-dev too). Do you still have the issue when you remove libsqlite-dev and install libsqlcipher-dev? Created attachment 94619 [details]
Build without sqlite3 fail output
I removed lib64sqlite3-devel and now build fails. Though lib64sqlcipher-devel installed.
I see, that it cannot find sqlite3.h. It is in /usr/include/sqlcipher/ and I don't see this path in the -I build flags too. In the /usr/lib64/pkgconfig/sqlcipher.pc I see, that it has the following include flags:
includedir=/usr/include
Cflags: -I${includedir}
Seems, there is wrong include dir. I edited this file to point to /usr/include/sqlcipher and build succeeded and I have not his warning about incompatible sqlite version.
I even installed lib64sqlite3-devel back and it builds and no error message too.
So the problem is with wrong include path in sqlcipher.pc. I'll post it to Mageia bugtracker.
May be this error message should be corrected, as it does not related to Qt build options?
And should really Qt be configured with -system-sqlite?
Also from skgbasemodeler/skgdocument.cpp:
QString message = i18nc("Error message", "This application can not run correctly because the SQLite version of the system (%1) is not aligned with the SQLite version embedded in Qt (%2). You should rebuild Qt with the option -system-sqlite.", sqliteQtVersion, sqliteSystemVersion);
May be sqliteQtVersion and sqliteSystemVersion should be swapped.
Git commit b9b4e6469100d517b7722554abccf601dd439db8 by Stephane Mankowski. Committed on 18/09/2015 at 19:07. Pushed by smankowski into branch 'master'. SQLite version of the system not aligned with embedded in Qt when using sqlcipher M +1 -0 CHANGELOG M +13 -7 skgbasemodeler/CMakeLists.txt M +4 -1 skgbasemodeler/skgdocument.cpp http://commits.kde.org/skrooge/b9b4e6469100d517b7722554abccf601dd439db8 Hi, I did a correction. If this doesn't work, reopen this incident. |