On Sat, 22 Nov 2025 13:46:50 -0500 Boyuan Yang <[email protected]> wrote: > On Sat, 22 Nov 2025 22:02:13 +0500 Syed Shahrukh > <[email protected]> wrote: > > Yes I have now checked the bug #1120685, there seems to be > > incompatibilities in ABI from sqlcipher 1 -> 2 and the kmymoney db > > abstraction plugin is not ready for it. > > > > A sign is that preloading the older library solves the problem. > > > > There is only one removal of the symbol sqlcipher_exportFunc from 1->2 , > > which is not used else kmymoney won;t be able to build. > > > > Presently the debug information is not sufficient to pinpoint the problem. > > > > I checked out the source of kmymoney, where I found that kmymoney is > > utilizing the QT library QSqlDatabase sqlcipher plugin for DB access. > > > > The sqlite plugin seems like a variant of > > https://github.com/sjemens/qsqlcipher-qt5 which supports upto sqlcipher > > 4.5.3, no updates since 2022. > > > > Plugin path within the source: kmymoney/plugins/sqlcipher > > > > Debugging the issue with kmymoney targeting the sqlcipher plugin will > > likely be the way forward. > > Please find the backtrace in the attachment.
When we look at the related source code: https://sources.debian.org/src/kmymoney/5.2.1-1/kmymoney/kmymoney.cpp#L1045 #ifdef ENABLE_SQLCIPHER /* Issues: * 1) libsqlite3 loads implicitly before libsqlcipher * thus making the second one loaded but non-functional, * 2) libsqlite3 gets linked into kmymoney target implicitly * and it's not possible to unload or unlink it explicitly * * Solution: * Use e.g. dummy sqlite3_key call, so that libsqlcipher gets loaded implicitly before libsqlite3 * thus making the first one functional. * * Additional info: * 1) loading libsqlcipher explicitly doesn't solve the issue, * 2) using sqlite3_key only in sqlstorage plugin doesn't solve the issue, * 3) in a separate, minimal test case, loading libsqlite3 explicitly * with QLibrary::ExportExternalSymbolsHint makes libsqlcipher non-functional */ sqlite3_key(nullptr, nullptr, 0); #endif ...should we continue in https://bugs.debian.org/1120685 instead of https://bugs.debian.org/1121167 ? Thanks, Boyuan
signature.asc
Description: This is a digitally signed message part

