| Summary: | Skrooge complains about SQLCipher version of the system is not aligned with the SQLCipher version embedded in Qt | ||
|---|---|---|---|
| Product: | Mageia | Reporter: | Nikita Krupenko <krnekit> |
| Component: | RPM Packages | Assignee: | Nicolas Lécureuil <mageia> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Normal | CC: | geiger.david68210, marja11, yvesbrungard |
| Version: | Cauldron | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| See Also: | https://bugs.kde.org/show_bug.cgi?id=352674 | ||
| Whiteboard: | |||
| Source RPM: | skrooge-2.9.0-1.mga7.src.rpm, sqlcipher-3.4.1-1.mga7.src.rpm | CVE: | |
| Status comment: | |||
| Bug Depends on: | 16774 | ||
| Bug Blocks: | |||
|
Description
Nikita Krupenko
2015-09-06 00:24:29 CEST
Marja Van Waes
2015-09-06 09:23:58 CEST
CC:
(none) =>
marja11 Nicolas just fixed this in new qtbase5-5.5.0-3.mga6, which might need some more time to land on your mirror: neoclust <neoclust> 5.5.0-3.mga6: + Revision: 873354 - Rebuild against new sqlite Resolution:
(none) =>
FIXED Still see the same error. Qt version 5.5.0-4, sqlite 3.8.11.1-1.mga6. Maybe Skrooge needs rebuild too? Or some qt plugin. I don't see any sqlite stuff installed with version 3.8.10.2. Resolution:
FIXED =>
(none)
Nikita Krupenko
2015-09-13 22:40:08 CEST
See Also:
(none) =>
https://bugs.kde.org/show_bug.cgi?id=352674 Seems problem is in wrong include for sqlcipher. Also, Skrooge may not have lib64sqlite3-devel as BR now. Depends on:
(none) =>
16774 As sqlcipher package fixed now, skrooge can be recompiled with the new version. Also, compiling Qt with -system-sqlite may be not needed. Same warnings here:
$ LC_ALL=C skrooge
##WARNING:This application can not run correctly because the SQLCipher version of the system (3.9.2) is not aligned with the SQLCipher version embedded in Qt (3.8.10.2). You should rebuild Qt with the option -system-sqlite.
@ neoclust:
Should this package be built against sqlcipher or against sqlite3? what is better? it can't be built against both.
CMakeLists says:
OPTION(SKG_CIPHER "Build in sqlcipher mode" ON)
IF(SKG_CIPHER)
FIND_PACKAGE(PkgConfig REQUIRED)
PKG_CHECK_MODULES(SQLCIPHER REQUIRED sqlcipher)
MESSAGE( STATUS " Mode SQLCIPHER enabled")
MESSAGE( STATUS " SQLCIPHER INCLUDE : " ${SQLCIPHER_INCLUDE_DIRS})
SET(SQLITE_LIBRARIES ${SQLCIPHER_LIBRARIES})
SET(SQLITE_INCLUDE_DIR ${SQLCIPHER_INCLUDE_DIRS})
ADD_DEFINITIONS(-DSKGCIPHER)
ELSE(SKG_CIPHER)
FIND_PACKAGE(Sqlite 3.7.0 REQUIRED)
MESSAGE( STATUS " Mode SQLITE enabled")
MESSAGE( STATUS " SQLITE : " ${SQLITE_INCLUDE_DIR})
ENDIF(SKG_CIPHER)CC:
(none) =>
geiger.david68210 It should be sqlcipher, which was fixed recently. I think, only skrooge rebuild needed now. Well! testing a rebuild locally and it fixes this sqlcipher issue. So should be fixed with skrooge-2.2.0-2.mga6. Checked with updated package - all works now. Also, there is 2.3 version already released ;) Resolution:
(none) =>
FIXED Ok, done for latest upstream release 2.3.0! I installed skrooge 2.9.0-1.mga7 and now the issue reappeared - I see the following warning:
WARNING:This application can not run correctly because the SQLCipher version of the system (3.8.10.2) is not aligned with the SQLCipher version embedded in Qt (3.15.2). You should rebuild Qt with the option -system-sqlite.
Contents of the sqlcipher.pc (version 3.4.1-1.mga7):
# Package Information for pkg-config
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include
Name: SQLCipher
Description: SQL database engine
Version: 3.15.2
Libs: -L${libdir} -lsqlcipher
Libs.private: -ldl -lcrypto -lpthread
Cflags: -I${includedir}/sqlcipher
Seems, it still has wrong include path and when Skrooge compiles, it finds sqlite header instead.
includedir should point to the exact includes location i.e. /usr/include/sqlcipher
See also link to the Skrooge upstream bug report for more information.Status:
RESOLVED =>
REOPENED Sorry, I missed that sqlcipher include path actually expanded to -I${includedir}/sqlcipher
But why I see that warning? This is strange.
Nevertheless, I installed today skrooge 2.10.5-1.mga7 and it doesn't produces such warning. Starting from version 2.10, it detects SQLite/SQLCipher library version dynamically: https://cgit.kde.org/skrooge.git/commit/?id=b6c304fa343688dc3f3600836b98efbee25f1b60
Not sure, if anything need to be fixed according to this bug report.Summary:
pkgconfig file in the lib64sqlcipher-devel has wrong include path =>
Skrooge complains about SQLCipher version of the system is not aligned with the SQLCipher version embedded in Qt Now I have skrooge-2.10.5-1.mga7 installed and it crashes on start (SIGABRT) with the following error: ##FATAL: Cannot mix incompatible Qt library (version 0x50901) with this library (version 0x50903) Seems, it need rebuild after Qt update. Is this still valid, on Mageia 8? If not, to be closed. CC:
(none) =>
yves.brungard_mageia FIXED Resolution:
(none) =>
FIXED |