Docker build fails on Apple Silicon (arm64) — only x86_64 wheels pinned for extractcode-7z, extractcode-libarchive, typecode-libmagic
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 86/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- docker, docker-compose, python
- 領域
- build-system
調査の方向性
requirements.txt と requirements-dev.txt を確認し、extractcode-7z、extractcode-libarchive、typecode-libmagic が .210531 に固定されていることを確認してください。すべての環境に同じ変更が適用されるよう、レポートで提案されている互換性のある古い固定バージョンに両ファイルを更新してください。Apple Silicon(arm64/aarch64)環境で、make envfile に続けて docker compose build を実行して再現してください。ResolutionImpossible エラーなしでビルドが正常に実行されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
docker compose build fails on native Apple Silicon (arm64) with a pipResolutionImpossible error.
This doesn't seem to be a version conflict but is instead caused due to the pinned versions
of three native dependencies in requirements.txt and requirements-dev.txt only shipping x86_64 wheels,
with no arm64 or aarch64 build available.
Environment
- macOS Ventura 13.7.3, Apple Silicon
- Docker via Colima (
--arch aarch64 --vm-type=vz) - Fresh clone, no other modifications
Steps to reproduce
- Clone the repo on an Apple Silicon Mac
make envfiledocker compose build
Actual behavior
ERROR: Cannot install extractcode[full]==31.0.0 because these package versions have conflicting dependencies.
The conflict is caused by:
extractcode[full] 31.0.0 depends on extractcode-7z>=16.5.210525; extra == "full"
The user requested (constraint) extractcode-7z==16.5.210531
ERROR: ResolutionImpossible
Root cause
requirements.txt and requirements-dev.txt both pin:
extractcode-7z==16.5.210531extractcode-libarchive==3.5.1.210531typecode-libmagic==5.39.210531
Checking PyPI, these specific versions publish wheels only for win_amd64,
manylinux1_x86_64, and macosx_10_14_x86_64.
No arm64/aarch64 wheels are available for .210531 for any of the three packages.
On an Apple Silicon host, pip therefore has no compatible wheel
available to satisfy the pinned versions. However, it reports a dependency conflict
rather than clearly indicating that a compatible wheel is unavailable,
which obscures the actual cause of the installation failure.
Proposed fix
The immediately preceding releases of the same three packages do ship
arm64 wheels, and still satisfy the >= minimums that extractcode[full]
and typecode[full] declare:
| Package | Current pin | Proposed pin | Satisfies declared minimum? |
|---|---|---|---|
extractcode-7z |
16.5.210531 |
16.5.210525 |
yes (>=16.5.210525) |
extractcode-libarchive |
3.5.1.210531 |
3.5.1.210525 |
yes (>=3.5.1.210525) |
typecode-libmagic |
5.39.210531 |
5.39.210223 |
yes (>=5.39.210223) |
This needs to be applied to both requirements.txt and requirements-dev.txt.
They pin these separately so fixing only one still breaks the other.
Verification
With the above three-line change in both files:
docker compose buildcompletes natively as arm64- Full stack (postgres, redis, nginx, web, scheduler, both rqworkers)
boots cleanly - Test suite: 882 passed, 1 skipped, 1 failed — the one failure is
unrelated and caused by a git-commit-hash injection intosettings.py
Happy to open a PR with this fix if it's welcome — wanted to inquire
whether there was a reason these specific versions were pinned.
- 主要言語
- Python
- スター
- 716
- フォーク
- 347
- 平均マージ
- 12時間 15分
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aboutcode-org/vulnerablecode のほかの issue
-
OSV parser drops all crates.io affected entries because the ecosystem mapping uses cargo対応中かも @Ashutosh-Panda2004 が 3 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
aboutcode-org/vulnerablecode#2485 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Docker Compose setup fails on wait-for-it host web:8000 and missing runtime .env対応中かも @Anurag-S1ngh が 6 日前に担当しました。 オープン
難易度 2/5 半日 初心者へのやさしさ 77/100
aboutcode-org/vulnerablecode#2477 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
OVAL parser corrupts version bounds when the epoch is 10, 20 or the version contains "0:"対応中かも @Ashutosh-Panda2004 が 4 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
aboutcode-org/vulnerablecode#2474 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Get NuGet package versions from federated PURL version data in https://github.com/aboutcode-data/再び着手できるかも @Anshi321 が 25 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンbug data-quality
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
aboutcode-org/vulnerablecode#2418 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
We do not collect the affected range for Gitlab advisories対応中かも @akashrajeev が 12 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
aboutcode-org/vulnerablecode#2412 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
aboutcode-org/vulnerablecode の issue をすべて見る
似ている issue
-
infrastructure
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
NatLabRockies/H2Integrate#977 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
topoteretes/cognee#6470 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
area:docs priority:p2 type:docs wave:9
難易度 1/5 1時間未満 初心者へのやさしさ 84/100
jejjohnson/radtrax#293 ·
メンテナーはふだん 1 日以内に返信
-
bug core plugins
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
bunkerity/bunkerweb#4121 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信