{"record":{"id":"a38e620632035f38","repo":"vllm-project/vllm","slug":"no-compatible-wheel-found-for-arch-at-simple-ur","errorCode":null,"errorMessage":"No compatible wheel found for {arch} at {simple_url}","messagePattern":"No compatible wheel found for (.+?) at (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"setup.py","lineNumber":815,"sourceCode":"                    for name, value in attrs:\n                        if name == \"href\" and value.endswith(\".whl\"):\n                            self.wheels.append(value)\n\n        simple_url = f\"{index_url.rstrip('/')}/{package}/\"\n        print(f\"Fetching wheel list from {simple_url}\")\n        with urlopen(simple_url) as resp:\n            html = resp.read().decode(\"utf-8\")\n\n        parser = WheelLinkParser()\n        parser.feed(html)\n\n        for wheel in reversed(parser.wheels):\n            if arch in wheel:\n                if wheel.startswith(\"http\"):\n                    return wheel\n                return urljoin(simple_url, wheel)\n\n        raise ValueError(f\"No compatible wheel found for {arch} at {simple_url}\")\n\n    @staticmethod\n    def determine_wheel_url_rocm() -> tuple[str, str | None]:\n        \"\"\"Determine the precompiled wheel for ROCm.\"\"\"\n        # Search for local wheel first\n        local_wheel = precompiled_wheel_utils.find_local_rocm_wheel()\n        if local_wheel is not None:\n            print(f\"Found local ROCm wheel: {local_wheel}\")\n            return local_wheel, None\n\n        import platform\n\n        arch = platform.machine()\n        commit = os.getenv(\"VLLM_PRECOMPILED_WHEEL_COMMIT\", \"\").lower()\n        if not commit or len(commit) != 40:\n            print(\n                f\"VLLM_PRECOMPILED_WHEEL_COMMIT not valid: {commit}\"\n                \", trying to fetch base commit in main branch\"","sourceCodeStart":797,"sourceCodeEnd":833,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/setup.py#L797-L833","documentation":"Raised in setup.py's wheel-link parser (line 815): after fetching a PEP 503 simple index page (`simple_url`) and parsing its wheel hrefs, no wheel filename contains the machine architecture tag `arch` (e.g. `linux_x86_64`, `manylinux2014_aarch64`). It means the index was reachable but has no wheel matching your platform.","triggerScenarios":"Installing vLLM with a precompiled-wheel override pointing at a simple index that lacks wheels for the current arch — e.g. an x86-only nightly repo queried from an arm64 machine, or a repo that only hosts cu12 wheels while you need a different ABI tag.","commonSituations":"Apple Silicon or Grace/ARM machines pointed at x86-only internal mirrors; stale internal DevPI/Nexus proxy that has not synced newer arch variants; environment variables (e.g. PIP_INDEX_URL / vLLM wheel-repo override) pointing at a partial mirror.","solutions":["Point the install at an index that hosts wheels for your arch (official PyPI, or the correct arch tag in the override)","Check the parsed page manually (curl the simple_url) to see which platform tags actually exist","If no prebuilt wheel exists for your platform, build from source without the wheel override"],"exampleFix":"# before\nPIP_INDEX_URL=https://internal-mirror/x86-only/simple pip install vllm\nValueError: No compatible wheel found for manylinux2014_aarch64 ...\n\n# after\nPIP_INDEX_URL=https://pypi.org/simple pip install vllm","handlingStrategy":"fallback","validationCode":"import platform, urllib.request\nmachine = platform.machine().lower()  # e.g. x86_64 -> expect manylinux*_x86_64 tags\nhtml = urllib.request.urlopen(simple_url).read().decode()\nassert any(machine in href for href in html.split('\"')), f\"index {simple_url} has no {machine} wheels\"","typeGuard":null,"tryCatchPattern":"try:\n    wheel_url = find_wheel(simple_url, arch)\nexcept ValueError as e:\n    # fall back to an index that hosts this arch, or to a source build\n    print(f\"{e}; falling back to PyPI\")\n    wheel_url = find_wheel(\"https://pypi.org/simple/vllm/\", arch)","preventionTips":["Pre-flight the simple index for your arch tag before automating installs","Keep arch-mirrored internal repos in sync when adding new platforms"],"tags":["python","packaging","wheels","network","vllm"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}