OpenTimelineIO icon indicating copy to clipboard operation
OpenTimelineIO copied to clipboard

Windows Python debug pyd suffix

Open foundry-markf opened this issue 3 years ago • 7 comments

Bug Report

Build Problem

I note in the current build scripts that the d suffix is added for debug builds on Windows

https://github.com/PixarAnimationStudios/OpenTimelineIO/blob/main/CMakeLists.txt#L166-L171

However, in the Python build scripts, the .pyds have a _d suffix for a debug Python build on Windows, see

https://github.com/python/cpython/blob/3.7/PC/python_ver_rc.h#L13-L17

Thanks, Mark

foundry-markf avatar Dec 10 '21 14:12 foundry-markf

Hi @foundry-markf ! Thanks for the report. I did notice this in the past while working on the Windows wheels and completely forgot to create an issue for this.

Feel free to create a pull request if you have time!

I'll check with management. I'm aware of the CLA needed, and our legal department would need sign off, and being near the holidays, might be a while to push through.

foundry-markf avatar Dec 10 '21 17:12 foundry-markf

That's alright. We are in no rush I think. But if you would prefer to see this fix soon, I can probably push a PR this weekend. Just let me know.

I'm also in no rush, as we have a local edit. I was just being a good FOSS citizen and reporting it. :)

foundry-markf avatar Dec 10 '21 17:12 foundry-markf

Is there such a thing as a debug wheel for windows? If so we might want to queue this up as part of the point release? Otherwise, there's no rush, I think.

meshula avatar Dec 10 '21 20:12 meshula

Missed this question, sorry.

I've never seen a debug wheel on Windows. In practice, I suspect very few users run a debug Python interpreter. However, as it's in our package manager ecosystem, it is a case we deal with.

foundry-markf avatar Jan 14 '22 16:01 foundry-markf

My opinion is we shouldn't upload debug wheels in PyPI. It's such a rare scenario that I don't think it's worth the effort on our side and the storage utilization in PyPI.

Though, we could have a job that makes it so that every time the C++ code or CMakeFiles are changed in a PR, we run a full build in debug mode and run the tests. That would ensure building in debug isn't broken by a future change.