I'm installing a Django app on a Centos 7 server. The app uses Django 2.2, which requires SQLite 3.8.3 or newer. Centos comes with SQLite 3.7 from 2013.
When I compile SQLite 3 from sources and run make install
, it installs the new SQLite in /usr/local/bin
. Running sqlite3 --version
shows version 3.30, as it should. However, Python keeps seeing the old version of SQLite.
Recompiling Python does not help. Turns out there's /usr/lib64/libsqlite3.so.0.8.6
shared object that's used by Python. This shared object is not updated when compiling SQLite again, nor is a new shared object created (I ran ./configure --enable-shared
).
Other than downgrading to Django 2.1 or switching to a Debian based Linux I don't see any way out of this.