2

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.

zmbq
  • 675
  • 1
  • 7
  • 9

0 Answers0