Skip to content

feat(docker): add auditwheel to Dockerfile.sdk sdk_build stage#8743

Merged
mc-nv merged 4 commits intomainfrom
mchornyi/TRI-286/kitmaker-2-0-process-enablement
Apr 18, 2026
Merged

feat(docker): add auditwheel to Dockerfile.sdk sdk_build stage#8743
mc-nv merged 4 commits intomainfrom
mchornyi/TRI-286/kitmaker-2-0-process-enablement

Conversation

@mc-nv
Copy link
Copy Markdown
Contributor

@mc-nv mc-nv commented Apr 15, 2026

Resolves: TRI-286
triton-inference-server/client#888
triton-inference-server/model_analyzer#1019

What does the PR do?

Add auditwheel to the pip3 install command in the sdk_build stage of Dockerfile.sdk. This ensures auditwheel repair is available when building the tritonclient wheel, so the correct manylinux_X_Y_{arch} platform tag is auto-discovered from the glibc symbol dependencies of the native extensions (fixes the incorrect tag produced on Ubuntu 24.04 builds).

Checklist

  • PR title reflects the change and is of format <commit_type>: <Title>
  • Changes are described in the pull request.
  • Related issues are referenced.
  • Populated github labels field
  • Added test plan and verified test passes.
  • Verified that the PR passes existing CI.
  • Verified copyright is correct on all changed files.
  • Added succinct git squash message before merging.
  • All template sections are filled out.

Commit Type:

  • build
  • ci
  • docs
  • feat
  • fix
  • perf
  • refactor
  • revert
  • style
  • test

Related PRs:

Where should the reviewer start?

Dockerfile.sdk line 87 — the pip3 install line in sdk_build stage.

Test plan:

  • Build the SDK container and verify auditwheel --version is available in the sdk_build stage.

  • Run py3-wheel-publish CI job and confirm the produced .whl file has a correct manylinux_* tag.

  • CI Pipeline ID: (to be added after CI run)

Caveats:

None.

Background

auditwheel repair inspects native extensions in a built wheel and emits a correctly-tagged manylinux wheel. Wheels built on Ubuntu 24.04 (glibc 2.39) cannot claim manylinux1 or manylinux2014 tags. The auto-discovery removes the need to maintain the tag manually per OS.

Related Issues:

  • Relates to Linear TRI-286 (Kitmaker 2.0 process enablement)

auditwheel is required by build_wheel.py --linux to auto-discover the
correct manylinux platform tag from actual glibc symbol dependencies,
replacing the previous hard-coded per-arch tag strings.
mc-nv added 3 commits April 15, 2026 15:49
The SDK cmake build (TRITON_ENABLE_PERF_ANALYZER=OFF, no cuda_shared_memory
.so) produces a pure Python tritonclient wheel. Using build_wheel.py --linux
for the SDK is unnecessary and results in an unnormalized py3-none-manylinux
tag (none ABI + platform-specific tag is contradictory).

Switch to the generic py3-none-any wheel that cmake always produces. This
is the correct normalized tag for a pure Python package.
tritonclient is now pure Python (no native extensions after PR #797).
Both generic and linux cmake wheel targets produce py3-none-any.whl.
Update find patterns in Dockerfile.sdk, Dockerfile.QA, and
setup_python_enviroment.sh to match the correct wheel filename.
@mc-nv mc-nv marked this pull request as ready for review April 17, 2026 16:48
@mc-nv mc-nv requested a review from mudit-eng April 17, 2026 17:18
@mc-nv mc-nv merged commit 18aae79 into main Apr 18, 2026
3 checks passed
@mc-nv mc-nv deleted the mchornyi/TRI-286/kitmaker-2-0-process-enablement branch April 18, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants