[Django] #30313: SQLite min version in Django 2.2 breaks Centos 7 compatability

27 views
Skip to first unread message

Django

unread,
Apr 2, 2019, 12:16:48 PM4/2/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatability
-------------------------------------+-------------------------------------
Reporter: Jamie | Owner: nobody
Cockburn |
Type: Bug | Status: new
Component: Database | Version: 2.2
layer (models, ORM) |
Severity: Normal | Keywords: SQLite Centos
Triage Stage: | Has patch: 0
Unreviewed |
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-------------------------------------+-------------------------------------
The latest Django 2.2 release requires SQLite 3.8.3.

Centos 7 repos bundle SQLite 3.7.17, so this change breaks compatibility
with one of the major linux distros.

--
Ticket URL: <https://code.djangoproject.com/ticket/30313>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Apr 3, 2019, 3:04:50 AM4/3/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatability
-------------------------------------+-------------------------------------
Reporter: Jamie Cockburn | Owner: nobody
Type: Bug | Status: closed
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution: wontfix

Keywords: SQLite Centos | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Carlton Gibson):

* status: new => closed
* resolution: => wontfix


Comment:

OK, that's unfortunate, but I don't think there's anything we can do. As
per discussion on #30055, this was required to make other improvements
possible.

SQLite v3.8.3 was released in Feb 2014. Current version is v3.27.2.

Unless you can ask Centos to upgrade — I don't know if they'll do that — I
guess you'll need to compile an updated versions yourself.
(There's good stuff in there.)

Sorry for the inconvenience.

--
Ticket URL: <https://code.djangoproject.com/ticket/30313#comment:1>

Django

unread,
Apr 3, 2019, 10:35:39 AM4/3/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatability
-------------------------------------+-------------------------------------
Reporter: Jamie Cockburn | Owner: nobody
Type: Bug | Status: closed
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution: wontfix
Keywords: SQLite Centos | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Jamie Cockburn):

I haven't checked, but this most likely breaks support for SQLite in
Redhat too?

Is there not a way to gracefully degrade?

Losing support for SQLite on these major and widely deployed server
operating systems seems wrong.

--
Ticket URL: <https://code.djangoproject.com/ticket/30313#comment:2>

Django

unread,
Apr 3, 2019, 12:22:50 PM4/3/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatibility

-------------------------------------+-------------------------------------
Reporter: Jamie Cockburn | Owner: nobody
Type: Bug | Status: closed
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution: wontfix
Keywords: SQLite Centos | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

--
Ticket URL: <https://code.djangoproject.com/ticket/30313#comment:3>

Django

unread,
Apr 12, 2019, 9:15:01 AM4/12/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatibility
-------------------------------------+-------------------------------------
Reporter: Jamie Cockburn | Owner: nobody
Type: Bug | Status: closed
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution: wontfix
Keywords: SQLite Centos | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Wolph):

It's not just Centos. It's breaking a few of my Travis builds too:

- https://travis-ci.org/WoLpH/django-utils/jobs/519040856
- https://travis-ci.org/WoLpH/django-statsd/jobs/519040878

Probably more, but these are the first that get run monthly and suddenly
broke down because of this change.

At the very least the commit message is wrong though:
https://github.com/django/django/commit/36300ef336e3f130a0dadc1143163ff3d23dc843
"Fixed a failure when running tests on systems with SQLite < 3.8.3."

It doesn't fix any failure, it creates a failure by adding a requirement.

--
Ticket URL: <https://code.djangoproject.com/ticket/30313#comment:4>

Django

unread,
Apr 12, 2019, 9:33:01 AM4/12/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatibility
-------------------------------------+-------------------------------------
Reporter: Jamie Cockburn | Owner: nobody
Type: Bug | Status: closed
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution: wontfix
Keywords: SQLite Centos | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by felixxm):

You can simply fix this by pointing `xenial` as a distribution for
TravisCI (e.g. [https://github.com/django-request/django-
request/commit/48e5068437210efbd7be68e264dadc5a5d332808 using xenial]).

--
Ticket URL: <https://code.djangoproject.com/ticket/30313#comment:5>

Django

unread,
Jul 18, 2019, 12:02:14 PM7/18/19
to django-...@googlegroups.com
#30313: SQLite min version in Django 2.2 breaks Centos 7 compatibility
-------------------------------------+-------------------------------------
Reporter: Jamie Cockburn | Owner: nobody
Type: Bug | Status: closed
Component: Database layer | Version: 2.2
(models, ORM) |
Severity: Normal | Resolution: wontfix
Keywords: SQLite Centos | Triage Stage:
| Unreviewed
Has patch: 0 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by terminator14):

When CentOS 8 is ready, hopefully it will use an sqlite library that's at
least version 3.8.3, but until then, if you need to update your system's
sqlite library on CentOS 7 minimal x86_64, do this as root:

{{{
yum groupinstall "Development Tools"
yum install tcl
curl -O https://www.sqlite.org/src/tarball/sqlite.tar.gz
tar -xvf sqlite.tar.gz
cd sqlite/
./configure
make
cp -v .libs/libsqlite3.so.0.8.6 /usr/local/lib64/
# Dont miss the dot in .libs above
echo "/usr/local/lib64" > /etc/ld.so.conf.d/sqlite-x68_64.conf
ldconfig
}}}

We basically just compiled the sqlite library from source, moved it to
/usr/local/lib64/, and told the system to use it instead of the original
/usr/lib64/libsqlite3.so.0.8.6 library it was using.

At this point, if you want, you can delete the sqlite.tar.gz file, and
sqlite directory with all the source code.
If you ever need to undo this, delete /etc/ld.so.conf.d/sqlite-
x68_64.conf, delete /usr/local/lib64/libsqlite3.so.0.8.6, and run
"ldconfig" as root.

--
Ticket URL: <https://code.djangoproject.com/ticket/30313#comment:6>

Reply all
Reply to author
Forward
0 new messages