Closed brenns10 closed 5 months ago
To expand a bit on this, distutils sets the build_temp based on sys.implementation.cache_tag: https://github.com/pypa/setuptools/blob/222ebf921a4a1cca69d6a5193121f3090580e502/setuptools/_distutils/command/build.py#L82
As far as I can tell, I think this should be fixed in distutils too, though drgn's incremental builds makes it particularly vulnerable to the issue. This approach here should resolve the build and development situation in the meantime.
I just filed a related PR, pypa/distutils#260, which would address this in distutils too.
I'm happy with this approach, thank you! I agree that it'd be nice if distutils handled this itself. There's a check in the same spirit for pydebug, so it seems like a reasonable request. I guess if distutils does add that, we'd be doing it twice, but that's purely cosmetic.
Yeah, I was thinking about the 313tt
thing, but honestly, if that happens we can fix it up, and it is just cosmetic.
Ok, so yesterday's solution #407 to the 3.13 wheel build failure correctly got at the root cause, but it didn't really address the issue outside of
scripts/build_manylinux_in_docker.sh
.This solution actually will update the
build_temp
directory to contain a "t" suffix on free-threading builds, which means that we avoid issues of sharing build directories both in the wheel build environment, and in normal development.