Bug 2162163 - sqlitebrowser uses an earlier version of sqlite3
Summary: sqlitebrowser uses an earlier version of sqlite3
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: sqlitebrowser
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Sandro Mani
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-01-19 01:37 UTC by Ian Dall
Modified: 2023-02-15 10:03 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ian Dall 2023-01-19 01:37:18 UTC
Description of problem:
In Fedora 37, sqlitebrowser currently is built with (static) version 3.34.1 of sqlite3 but the sqlite3 package is currently version 3.40.0.  There a number of small but annoying differences between the two versions.

Version-Release number of selected component (if applicable):
3.13.0-0.4.gita302128.fc37

How reproducible:
Always

Steps to Reproduce:
1. In sqlitebrowser execute the SQL "SELECT format('%s', 'Hi');"
2.
3.

Actual results:
Execution finished with errors.
Result: no such function: format

Expected results:
Hi

Additional info:
The version of sqlite3 actually used in sqlitebrowser can be found by executing "SELECT sqlite_version()"

sqlitebrowser appears to be statically linked. Is it possible to dynamically link to the latest sqlite3 libraries?

Comment 1 Sandro Mani 2023-01-19 08:30:20 UTC
sqlitebrowser is definitely not built statically linked to sqlite, but it is built dynamically linked to libsqlcipher, you should be able to verify this via

$ ldd /usr/bin/sqlitebrowser | grep sqlcipher
        libsqlcipher-3.39.2.so.0 => /lib64/libsqlcipher-3.39.2.so.0 (0x00007f2aabf41000)

sqlcipher is a fork of libsqlite which adds 256 bit AES encryption. Perhaps what you are seeing is that sqlcipher in F37 is based on an older sqlite than what F37 ships as libsqlite3.

Comment 2 Ian Dall 2023-01-20 01:44:07 UTC
Ah. That would be it. I have sqlcipher 4.4.3 and looking at the sqlcipher git, the last merge prior to that was sqlite 3.34.1. Even at sqlcipher head the most recent merge is sqlite 3.94.4. I can see encryption might be important for some, but the version skew seems undesirable. Is there a way to accomodate both?

For now I have built my own sqlitebrowser.


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