Thanks @meet1 that makes sense.
That fixes the particular libc mismatch error.
It did unveil a further error about a missing package:
> [python 1/4] RUN --mount=type=cache,target=/var/cache/apt,sharing=locked --mount=type=cache,target=/var/lib/apt,sharing=locked apt update && apt install -y libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git:
0.312
0.312 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
0.312
1.015 Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
1.064 Hit:2 http://security.ubuntu.com/ubuntu jammy-security InRelease
1.253 Hit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
1.495 Hit:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
1.553 Reading package lists...
2.093 Building dependency tree...
2.206 Reading state information...
2.213 All packages are up to date.
2.220
2.220 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
2.220
2.290 Reading package lists...
2.856 Building dependency tree...
2.965 Reading state information...
2.975 E: Unable to locate package python-openssl
------
Dockerfile:17
--------------------
16 | # https://github.com/pyenv/pyenv/wiki/Common-build-problems#prerequisites
17 | >>> RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
18 | >>> --mount=type=cache,target=/var/lib/apt,sharing=locked \
19 | >>> apt update && \
20 | >>> apt install -y libssl-dev zlib1g-dev libbz2-dev \
21 | >>> libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
22 | >>> xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
23 |
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c apt update && apt install -y libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git" did not complete successfully: exit code: 100
I can fix that by changing python-openssl to python3-openssl.
Then I can get it to build by:
tutor images build openedx-dev
tutor dev launch -I --skip-build
Tutor auto regenerates the files under env/ when you run dev launch. So I needed to use --skip-build to not try rebuilding the openedx-dev image, without my temporary changes. EDIT: I could also patch the Dockerfile template in Tutor itself, that made it easier. EDIT2: actually I still need --skip-build, because otherwise I get TypeError: expected string object, got 'Sentinel'.
Then it launches successfully, but there is a runtime error:
lms-1 | RuntimeError: Model class openedx.core.djangoapps.content_libraries.models.ContentLibrary doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
It appears to be the same as Django Installed Apps Error after Quickstart on M1. I can’t try running something in the lms or cms containers, because they’re stuck in restarting status. I’ll have to try the other solution from the thread which is to not use a locally mounted edx-platform…