Bug 16708 - Skrooge complains about SQLCipher version of the system is not aligned with the SQLCipher version embedded in Qt
Summary: Skrooge complains about SQLCipher version of the system is not aligned with t...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Nicolas Lécureuil
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 16774
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-06 00:24 CEST by Nikita Krupenko
Modified: 2022-06-05 01:23 CEST (History)
3 users (show)

See Also:
Source RPM: skrooge-2.9.0-1.mga7.src.rpm, sqlcipher-3.4.1-1.mga7.src.rpm
CVE:
Status comment:


Attachments

Description Nikita Krupenko 2015-09-06 00:24:29 CEST
Description of problem:
When I start Skrooge, I see the following message:

This application can not run correctly because the SQLite version of the system (3.8.10.2) is not aligned with the SQLite version embedded in Qt (3.8.11). You should rebuild Qt with the option -system-sqlite.

Version-Release number of selected component (if applicable):
Qt version: 5.5.0-2.mga6
sqlite3-3.8.11-3.mga6


How reproducible:
Always


Steps to Reproduce:
1. Install skrooge package
2. Run skrooge

Reproducible: 

Steps to Reproduce:
Marja Van Waes 2015-09-06 09:23:58 CEST

CC: (none) => marja11
Assignee: bugsquad => mageia

Comment 1 Marja Van Waes 2015-09-06 15:23:47 CEST
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
Status: NEW => RESOLVED

Comment 2 Nikita Krupenko 2015-09-12 22:59:43 CEST
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)
Status: RESOLVED => REOPENED

Nikita Krupenko 2015-09-13 22:40:08 CEST

See Also: (none) => https://bugs.kde.org/show_bug.cgi?id=352674

Comment 3 Nikita Krupenko 2015-09-18 00:25:14 CEST
Seems problem is in wrong include for sqlcipher.
Also, Skrooge may not have lib64sqlite3-devel as BR now.

Depends on: (none) => 16774

Comment 4 Nikita Krupenko 2016-04-01 21:08:08 CEST
As sqlcipher package fixed now, skrooge can be recompiled with the new version.
Also, compiling Qt with -system-sqlite may be not needed.
Comment 5 David GEIGER 2016-04-18 16:13:01 CEST
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

Comment 6 Nikita Krupenko 2016-04-18 17:19:50 CEST
It should be sqlcipher, which was fixed recently. I think, only skrooge rebuild needed now.
Comment 7 David GEIGER 2016-04-18 18:32:28 CEST
Well! testing a rebuild locally and it fixes this sqlcipher issue.

So should be fixed with skrooge-2.2.0-2.mga6.
Comment 8 Nikita Krupenko 2016-04-19 15:18:07 CEST
Checked with updated package - all works now.

Also, there is 2.3 version already released ;)

Resolution: (none) => FIXED
Status: REOPENED => RESOLVED

Comment 9 David GEIGER 2016-04-20 09:03:51 CEST
Ok, done for latest upstream release 2.3.0!
Comment 10 Nikita Krupenko 2017-11-19 02:04:06 CET
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
Source RPM: qtbase5-5.5.0-2.mga6.src.rpm => skrooge-2.9.0-1.mga7.src.rpm, sqlcipher-3.4.1-1.mga7.src.rpm
Summary: Qt use wrong version of SQLite library => pkgconfig file in the lib64sqlcipher-devel has wrong include path
Resolution: FIXED => (none)

Comment 11 Nikita Krupenko 2017-11-19 14:47:53 CET
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

Comment 12 Nikita Krupenko 2017-12-30 23:07:20 CET
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.
Comment 13 papoteur 2021-10-08 14:10:54 CEST
Is this still valid, on Mageia 8?
If not, to be closed.

CC: (none) => yves.brungard_mageia

Comment 14 sturmvogel 2022-06-05 01:23:45 CEST
FIXED

Resolution: (none) => FIXED
Status: REOPENED => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.