blender failed to build from source in Fedora rawhide/f31 https://koji.fedoraproject.org/koji/taskinfo?taskID=36632157 For details on the mass rebuild see: https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Please fix blender at your earliest convenience and set the bug's status to ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks, blender will be orphaned. Before branching of Fedora 32, blender will be retired, if it still fails to build. For more details on the FTBFS policy, please visit: https://fedoraproject.org/wiki/Fails_to_build_from_source
Created attachment 1595469 [details] build.log
Created attachment 1595470 [details] root.log file root.log too big, will only attach last 32768 bytes
Created attachment 1595471 [details] state.log
Offender are OpenImageIO and OpenCV according to the build.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31.
The issue Blender hits is: /builddir/build/BUILD/blender-2.80/source/blender/python/generic/py_capi_utils.c:722:30: erro r: dereferencing pointer to incomplete type 'PyInterpreterState' {aka 'struct _is'} 722 | PyDict_SetItemString(interp->modules, "__main__", mod_main); | ^~ make[2]: *** [source/blender/python/generic/CMakeFiles/bf_python_ext.dir/build.make:131: sour This is one of several other attempts to access "interp->modules". The interpreter state is private API, and from Python 3.8 it is an opaque struct. I haven't followed the interp changes closely enough, and I'm not familiar with this part of CPython. Victor, you might know: what's the best way to get "sys.modules" from C code? (If you don't know off the top of your head, I can search further.)
"interp->modules" should be replaced by the public API function PyImport_GetModuleDict.
(In reply to Petr Viktorin from comment #7) > "interp->modules" should be replaced by the public API function > PyImport_GetModuleDict. Can someone create a patch on the issue ready to submit for upstream? Thanks.
I would be interested in making my first contribution to Blender. I'll take a look at this.
I have created an upstream fix and it got merged: https://developer.blender.org/D6038
> I have created an upstream fix and it got merged: > https://developer.blender.org/D6038 Yeah, congrats Marcel ;-)
(In reply to Marcel Plch from comment #10) > I have created an upstream fix and it got merged: > https://developer.blender.org/D6038 Thank you Marcel for the fix. I added the patch which successfully built Blender with Python 3.8. https://koji.fedoraproject.org/koji/taskinfo?taskID=38335799 Update will come soon.
Remove F31FTBS tag as build on Python 3.7. and change the title for Rawhide/f32
Closing this report as the fix made Blender built with Python 3.8 and ported on other release.