PKG-2624 - Py_DEBUG spike (stacked on #256) - #258
skupr-anaconda wants to merge 23 commits into
Conversation
Replay #256 topology on origin/master without merge 2a73320. Keep master patch numbering (0028 site.pth, 0029 zlib-ng, 0030 xxlimited). Wrap win FT patches in freethreading jinja; add CF conda-forge#928 libpython unix weak run_exports. Refs: PKG-15601
Keep build_type: release only in conda_build_config.yaml. Debug interpreter remains a PKG-2624 spike, not this CF-align PR. Refs: PKG-15601
Auto-bump must track every output from the CF-align split. Refs: PKG-15601
Debug variants stay on ad-testing/label/py315. Disable before any pkgs/main / stable 3.15.0+ release (PKG-2624). Refs: PKG-15601
PKG-2624 spike stacked on #256. Drop release variants so this graph uploads only to ad-testing/label/py315-debug, and gate the d ABI with unconditional tests instead of PY_INTERP_DEBUG getenv. Windows skipped. Do not merge to pkgs/main.
Failed to submit graph for 196ccaaMessage: INFO:root:Found abs.yaml in /tmp/tmpgdnd9p1m/python-feedstock |
PBP graph-submitter died with KeyError: build_type on win-64 when debug was selected # [not win]. Keep build_type defined and skip win so this dest stays unix Py_DEBUG only.
Debug pyexpat NEEDs libexpat, but host only listed expat (no run_exports). Overlinking failed on all unix debug variants.
Ship python315_d.lib, python3_d.lib, and _tkinter_d.lib on this debug-only dest. build_base.bat already passes -d; drop skip win and assert the import libs plus gettotalrefcount.
39225be to
2a5b32f
Compare
Host libexpat did not flow into the python output run reqs, so debug pyexpat still failed overlinking on unix and win-64.
PCbuild -d does not NEEDED release ucrt/vc14_runtime, so --error-overdepending failed both win-64 variants.
FT debug never copied python3.15t_d.exe to python.exe, so compileall died. venv looks for unsuffixed venvlauncher.exe. Point win CMake tests at PREFIX so FindPython does not pick 3.14.
Debug builds are exclusive to python-feedstock#258 / PKG-2624. Refs: PKG-15601
pyexpat overlinks libexpat 2.8.5; host expat has no run_exports, so the python output never got a run req. Same fix as #258. Refs: PKG-15601
Debug packages ship python3_d.lib / python315_d.lib, not python3.lib. Point win CMake at PREFIX python.exe so FindPython does not pick 3.14.
Mis-indented if-not-exist lines were concatenated so cmd saw a leading dash. CMakeLists overwrote -DPython_FIND_ABI, so Embed looked for release import libs.
This reverts commit 226ab8c.
conda-build joined the jinja if-not-exist block into one cmd with a leading dash. FT debug needs _tkintert_d.lib. Pass Python_INCLUDE_DIR so win CMake Development.Embed can see include/python.
Nine-space list items nested under the previous command, so linux glued two test ! -f lines (test: too many arguments) and win glued if-not-exist into a leading dash.
Merge c10dd05 left a 3-space list marker, so conda-build yamlize failed (did not find expected '-' indicator) and PBP could not submit the graph.
PBP aarch64 hit HTTP 403 on conda.anaconda.org/main while creating python-bin. Use build-env python>=3.11. FT debug has no _tkinter_d.lib.
python -m venv on win-64 debug FT looks for venvlaunchert.exe because the staged interpreter is python.exe (no _d suffix). Copy the debug PCbuild launcher to the thread-only name as well as THREAD+_D.
Debug builds are exclusive to python-feedstock#258 / PKG-2624. Refs: PKG-15601
pyexpat overlinks libexpat 2.8.5; host expat has no run_exports, so the python output never got a run req. Same fix as #258. Refs: PKG-15601
cffd5c1 to
ed13f25
Compare
Destination channel: ad-testing/label/py315-debug
Links
PKG-15601-cf-align)Explanation of changes:
--with-pydebugspike only (Py_DEBUG,dinsys.abiflags). Not-X dev. Not Windows_d.lib.build_type: debug # [not win]only;freethreading: yes/no. Noreleaseon this graph.abs.yamluploads toad-testing/label/py315-debug. Release 3.15 stays on python 3.15.0rc2: align python-feedstock with conda-forge #256 →ad-testing/label/py315. Do not zipchannel_targets(F94).meta.yaml+run_test.py(do not rely onPY_INTERP_DEBUGgetenv).recipe/DEBUG.md.Notes:
/debug-elfare local/runbook only, not a PBP gate.