AcademySoftwareFoundation / OpenTimelineIO

Open Source API and interchange format for editorial timeline information.
http://opentimeline.io
Apache License 2.0
1.44k stars 282 forks source link

Windows Python debug pyd suffix #1173

Open foundry-markf opened 2 years ago

foundry-markf commented 2 years ago

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

JeanChristopheMorinPerso commented 2 years ago

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!

foundry-markf commented 2 years ago

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.

JeanChristopheMorinPerso commented 2 years ago

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.

foundry-markf commented 2 years ago

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

meshula commented 2 years ago

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.

foundry-markf commented 2 years ago

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.

JeanChristopheMorinPerso commented 2 years ago

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.