Repository navigation
build: Fix Windows Debug OTIO pip build (cmake 4.4.1+ FindPython, python311_d.lib) - #1376
Merged
cedrik-fuoco-adsk merged 2 commits intoAug 28, 2026
Conversation
cedrik-fuoco-adsk
force-pushed
the
ci-fix-windows-debug-due-to-cmake
branch
from
August 27, 2026 14:29
dd916cf to
8b29f63
Compare
CMake 4.4.1 changed Windows FindPython ABI handling to release-only by default, breaking OpenTimelineIO's pip-time find_package(Python Development.Module) against our custom debug Python artifacts (python311_d.lib, python_d.exe). Pin cmake to 3.31.6 in pip-build-constraints.txt and export it via PIP_CONSTRAINT and PIP_BUILD_CONSTRAINT so OTIO's build-isolation environment does not pull in the incompatible CMake version. OTIO's C++ extensions still compile against debug Python headers, which #pragma-link python311_d.lib; prepend our Python libs directory to LIB during pip install so MSVC finds the debug import library when pip builds under D:/_t/... Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
cedrik-fuoco-adsk
force-pushed
the
ci-fix-windows-debug-due-to-cmake
branch
from
August 27, 2026 20:01
9dd2677 to
2c4ac4d
Compare
cedrik-fuoco-adsk
added a commit
to cedrik-fuoco-adsk/OpenRV
that referenced
this pull request
Aug 27, 2026
Align pip constraint file naming with main (AcademySoftwareFoundation#1376), which adds src/build/pip-build-constraints.txt for the Windows Debug OTIO fix. The CY2026 numpy/Cython pins stay in the .in template and generate ${CMAKE_BINARY_DIR}/pip-build-constraints.txt at configure time. Signed-off-by: Cédrik Fuoco <cedrik.fuoco@autodesk.com>
cedrik-fuoco-adsk
marked this pull request as ready for review
August 27, 2026 20:14
cedrik-fuoco-adsk
requested review from
bernie-laberge and
eloisebrosseau
as code owners
August 27, 2026 20:14
eloisebrosseau
approved these changes
Aug 28, 2026
eloisebrosseau
left a comment
Contributor
There was a problem hiding this comment.
What is the purpose of this new pip-build-constraints.txt?
Contributor
Author
|
It pins the versions pip is allowed to resolve inside the build-isolation environments (PEP 517) that pip creates when it builds a package from source. When a package installed through requirements.txt is built from source, pip resolves that package's build requirements (cmake, in this case) in a separate isolated environment that doesn't inherit our requirements.txt pins. The constraints file is what pins those. @eloisebrosseau |
cedrik-fuoco-adsk
merged commit Aug 28, 2026
515073f
into
AcademySoftwareFoundation:main
22 checks passed
cedrik-fuoco-adsk
added a commit
to cedrik-fuoco-adsk/OpenRV
that referenced
this pull request
Aug 28, 2026
…-6-8 Resolve cmake/dependencies/python3.cmake: keep this branch's templated pip-build-constraints.txt (generated into CMAKE_BINARY_DIR from src/build/pip-build-constraints.txt.in) instead of main's static src/build/pip-build-constraints.txt, and fold main's cmake==3.31.6 pin into the template so the Windows Debug OTIO FindPython fix (AcademySoftwareFoundation#1376) is preserved.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
build: Fix Windows Debug OTIO pip build (cmake 4.4.1+ FindPython, python311_d.lib)
Linked issues
none
Summarize your change
Fix Windows Debug CI failures when pip builds OpenTimelineIO against our custom debug Python.
Two changes in
cmake/dependencies/python3.cmakeand a newsrc/build/pip-build-constraints.txt:setup.pyrunsfind_package(Python Development.Module)using the cmake wheel pip installs into its isolated build env, not the cmake driving the outer OpenRV build. CMake 4.4.1+ changed WindowsFindPythonto prefer release-only ABI by default, which breaks against our debug artifacts (python311_d.lib,python_d.exe). Pincmake==3.31.6(same line as the outer build) viaPIP_CONSTRAINTandPIP_BUILD_CONSTRAINT.LIBon Windows Debug: Even with FindPython fixed, OTIO's debug Python headers#pragma-link python311_d.lib. Pip builds underD:/_t/..., so MSVC cannot find our import library without prepending the Python libs directory toLIBduring the pip install step (usingcmake -E env --modify, same pattern as the existing PATH fix).Release builds are unaffected.
Describe the reason for the change
Windows Debug jobs have failed on every nightly since 2026-08-05 with no OpenRV source change. Two nightlies of the same commit straddle the boundary: Aug 4 passed, Aug 5 failed. cmake 4.4.2 was published to PyPI on 2026-08-04, between those runs.