Skip to content

Commit 8aba298

Browse files
committed
fix: Don't build uwsgi with xml support.
When uwsgi runs with xml support, it throws the following error on startup with the latest version of edx-platform: ``` xmlsec.InternalError: (-1, 'lxml & xmlsec libxml2 library version mismatch') ``` See xmlsec/python-xmlsec#320 for more details on this. Essentially, the uWSGI wheel is built against a different version of libxml2 and it causes this version mismach error when trying to load xmlsec. The xml support in uWSGI is only needed for runing with xml configuration files, which tutor does not do. Following the guidance of the above issue, I updated the `openedx` Dockerfile to no longer compile with any xml support as a part of the build. The time to build uWSGI was only slightly more than building from cache so I'm not concerned about major slowdowns in the build time for un-cached builds.
1 parent 7042414 commit 8aba298

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!--
2+
Create a changelog entry for every new user-facing change. Please respect the following instructions:
3+
- Indicate breaking changes by prepending an explosion 💥 character.
4+
- Prefix your changes with either [Bugfix], [Improvement], [Feature], [Security], [Deprecation].
5+
- You may optionally append "(by @<author>)" at the end of the line, where "<author>" is either one (just one)
6+
of your GitHub username, real name or affiliated organization. These affiliations will be displayed in
7+
the release notes for every release.
8+
-->
9+
10+
<!-- - 💥[Feature] Foobarize the blorginator. This breaks plugins by renaming the `FOO_DO` filter to `BAR_DO`. (by @regisb) -->
11+
<!-- - [Improvement] This is a non-breaking change. Life is good. (by @billgates) -->
12+
13+
[Bugfix] Don't build uwsgi with XML support (by @feanil)

tutor/templates/build/openedx/Dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,10 @@ RUN --mount=type=bind,from=edx-platform,source=/requirements/edx/base.txt,target
9494
pip install -r /openedx/edx-platform/requirements/edx/base.txt
9595

9696
# Install extra requirements
97+
# We don't need xml configuration support in uwsgi so don't install it.
9798
RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
98-
pip install \
99+
UWSGI_PROFILE_OVERRIDE="xml=no" \
100+
pip install --no-cache-dir --compile \
99101
# Use redis as a django cache https://pypi.org/project/django-redis/
100102
django-redis==5.4.0 \
101103
# uwsgi server https://pypi.org/project/uWSGI/

0 commit comments

Comments
 (0)