Files
Tekniumandjose_ugalde 2d1d1c9630 fix(pm): build native sdists with gcc/g++ when the pinned Python's clang is missing
python-build-standalone records CC='clang -pthread', CXX='clang++ -pthread',
clang-led LDSHARED/LDCXXSHARED and AR=/tools/llvm/bin/llvm-ar in sysconfig.
setuptools compiles with those unless the environment overrides them, so on
Debian/Ubuntu/WSL hosts with only gcc/g++ every C/C++ sdist under PM's pinned
interpreter failed with "No such file or directory: 'clang++'" (python-olm
via the matrix extra), and any build_clib static library failed on the
missing llvm-ar even where clang exists.

For the pinned interpreter on Linux, pm/build_compilers.py reads the recorded
toolchain once per interpreter and setdefaults CC/CXX (and the linker each
one leads) to the gcc-family equivalent when the recorded compiler is absent
and gcc/g++ is on PATH, keeping flags such as -pthread, and defaults AR to
the host's ar. User-set CC/CXX/LDSHARED/LDCXXSHARED/AR win; other
interpreters keep their sysconfig. The macOS AR default moves into the same
module unchanged. When no compiler exists at all, a BuildFailure now names
the missing compiler and how to install one instead of "retry".

The fail-loudly-on-missing-compiler idea comes from #130255.

Co-authored-by: jose_ugalde <vivojf@gmail.com>
2026-11-02 20:27:41 -08:00

3 lines
83 B
Plaintext

jfugalde
# PR #130255 salvage (pm: missing C/C++ compiler under the pinned Python)