Description
Problem Overview
The CircleCI tests for PR #338, adding ANIb(lastall) are now failing on python 3.6 (which is new), with this output:
#!/bin/bash -eo pipefail
pip install --upgrade pip setuptools virtualenv
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -r requirements-pip.txt
pip install -r requirements-pyqt-pip.txt
/home/circleci/.pyenv/versions/3.10.1/bin/python3.10: /lib/x86_64-linux-gnu/libm.so.6: version 'GLIBC_2.29' not found (required by /home/circleci/.pyenv/versions/3.10.1/lib/libpython3.10.so.1.0)
/home/circleci/.pyenv/versions/3.10.1/bin/python3.10: /lib/x86_64-linux-gnu/libpthread.so.0: version 'GLIBC_2.30' not found (required by /home/circleci/.pyenv/versions/3.10.1/lib/libpython3.10.so.1.0)
/home/circleci/.pyenv/versions/3.10.1/bin/python3.10: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.28' not found (required by /home/circleci/.pyenv/versions/3.10.1/lib/libpython3.10.so.1.0)
Exited with code exit status 1
CircleCI received exit code 1
which looks like the addition of python 3.10 is affecting the cache.
Looking at the cache that is loaded:
Unarchiving cache...
Skipping writing "home/circleci/.pyenv/bin/pyenv" - symlink ../libexec/pyenv /home/circleci/.pyenv/bin/pyenv: file exists
update apt-get
53s
it becomes clear that this is the case. The same is seen in the test runs for other versions of python. I would guess that this might also represent a race condition—whichever version is loaded first is the one that is cached, but this is currently just a hunch.
Lines 84–86 of .circleci/config.yml
are where this is saved; is there a reason for this (perhaps the package takes a long time to load/install)?
- save_cache:
paths:
- /home/circleci/.pyenv
Question
@widdowquinn Should we be using a different version of pyenv
for each python installation, or do we only want to change this for the point of failure?