Strict dependencies prevents charm from building
Metadata
Current evaluation
Strict dependencies build failed due to outdated pip. Maintainers identified pip>=23.2.1 as required. The issue was closed without a fix, as the reporter confirmed charmcraft 2.7.1 still lacks the update.
Suggested action: —
No scores available.
Issue body
### Bug Description
`ModuleNotFoundError: No module named 'markupsafe'` when building charm with `charm-strict-dependencies: true`
### To Reproduce
```
git clone https://github.com/canonical/mysql-router-operator
git checkout with-hashes
tox run -e pack-wrapper
mv requirements-last-build.txt requirements.txt
charmcraft pack
```
### Environment
Ubuntu 22.04
### charmcraft.yaml
```shell
# Copyright 2022 Canonical Ltd.
# See LICENSE file for licensing details.
type: charm
bases:
# Whenever "bases" is changed:
# - Update tests/integration/conftest.py::pytest_configure()
# - Update .github/workflow/ci.yaml integration-test matrix
- build-on:
- name: "ubuntu"
channel: "20.04"
run-on:
- name: "ubuntu"
channel: "20.04"
- build-on:
- name: "ubuntu"
channel: "22.04"
run-on:
- name: "ubuntu"
channel: "22.04"
parts:
charm:
override-pull: |
craftctl default
if [[ ! -f requirements.txt ]]
then
echo 'ERROR: Use "tox run -e build" instead of calling "charmcraft pack" directly' >&2
exit 1
fi
charm-strict-dependencies: true
charm-entrypoint: src/machine_charm.py
```
### Relevant log output
[charmcraft-20240103-154031.230848.log](https://github.com/canonical/charmcraft/files/13820882/charmcraft-20240103-154031.230848.log)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 | — | — | Strict dependencies build failed due to outdated pip. Maintainers identified pip>=23.2.1 as required. The issue was closed without a fix, as the reporter confirmed charmcraft 2.7.1 still lacks the update. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed unfixed. Charmcraft's outdated pip version causes markupsafe failures with strict dependencies. Maintainers identified enforcing pip>=23.2.1 as the solution, but the reporter confirmed the issue persists in charmcraft 2.7.1. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The strict dependencies build failure caused by an outdated pip version was identified as a charmcraft bug, but no fix was implemented. The reporter confirmed the issue persists in charmcraft 2.7.1. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. Maintainers identified an outdated pip version as the cause and suggested a fix, but the reporter confirmed charmcraft 2.7.1 still lacks the update. The issue appears abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The bug stems from charmcraft using an outdated pip version that fails to fetch required dependencies. Maintainers noted pip >=23.2.1 is required, but the reporter confirmed the issue persists in charmcraft 2.7.1. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #758 charmcraft installation via PIP started failing recently | charmcraft | closed | A newer craft-parts release broke compatibility with the pinned pydantic version, failing charmcraft pip installs. The issue was fixed by updating dependency constraints and merged in PR #765. | |
| #1389 'charm-strict-dependencies' requires at least one requirements file. in field 'parts.charm.charm-strict-dependencies' | charmcraft | closed | Closed without a confirmed fix. Maintainer referenced PR #1808 and suggested a workaround, but the author confirmed the validation error persists in v2.7.3. The issue remains unresolved. |