Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1705450

Summary: renderdoc FTBFS with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: renderdocAssignee: Christian Kellner <ckellner>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ckellner
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: renderdoc-1.4-2.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-12 09:49:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-05-02 10:38:58 UTC
Created attachment 1561505 [details]
Full log from Copr

renderdoc 1.1-3.fc31 fails to rebuild with Python 3.8:

[ 98%] Building CXX object qrenderdoc/Code/pyrenderdoc/CMakeFiles/_renderdoc.dir/__/__/renderdoc_python.cxx.o
cd /builddir/build/BUILD/renderdoc-1.1/build/qrenderdoc/Code/pyrenderdoc && /usr/bin/c++  -DDISTRIBUTION_CONTACT=\"https://bugzilla.redhat.com\" -DDISTRIBUTION_NAME=\"fedora\" -DGIT_COMMIT_HASH=\"NO_GIT_COMMIT_HASH_DEFINED\" -DRENDERDOC_LIB_SUBFOLDER=renderdoc -DRENDERDOC_LIB_SUFFIX=64 -DRENDERDOC_PLATFORM_LINUX -DRENDERDOC_STABLE_BUILD=1 -DRENDERDOC_SUPPORT_GL -DRENDERDOC_SUPPORT_GLES -DRENDERDOC_SUPPORT_VULKAN -DRENDERDOC_WINDOWING_XCB -DRENDERDOC_WINDOWING_XLIB -D_RELEASE -D_renderdoc_EXPORTS -I/builddir/build/BUILD/renderdoc-1.1/qrenderdoc -I/builddir/build/BUILD/renderdoc-1.1/renderdoc/api/replay -I/usr/include/python3.8m  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++11 -fstrict-aliasing -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-unused-result -Wno-type-limits -Wno-missing-field-initializers -Wno-unknown-pragmas -Wno-reorder -Wno-unused-but-set-variable -Wno-maybe-uninitialized -Wno-class-memaccess -Wimplicit-fallthrough=2 -Wno-cast-function-type -Wno-stringop-truncation -DNDEBUG -fPIC   -std=gnu++14 -o CMakeFiles/_renderdoc.dir/__/__/renderdoc_python.cxx.o -c /builddir/build/BUILD/renderdoc-1.1/build/qrenderdoc/renderdoc_python.cxx
/builddir/build/BUILD/renderdoc-1.1/build/qrenderdoc/renderdoc_python.cxx: In function 'void SwigPyStaticVar_dealloc(PyDescrObject*)':
/builddir/build/BUILD/renderdoc-1.1/build/qrenderdoc/renderdoc_python.cxx:3127:3: error: '_PyObject_GC_UNTRACK' was not declared in this scope; did you mean 'PyObject_GC_UnTrack'?
 3127 |   _PyObject_GC_UNTRACK(descr);
      |   ^~~~~~~~~~~~~~~~~~~~
      |   PyObject_GC_UnTrack

Full log attached.

Comment 1 Christian Kellner 2019-05-15 19:49:17 UTC
Fixed with renderdoc-1.4-1.fc31 (https://koji.fedoraproject.org/koji/buildinfo?buildID=1268271)

Comment 2 Miro Hrončok 2019-05-30 15:59:53 UTC
Still failing. see https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/renderdoc/

Comment 3 Miro Hrončok 2019-07-10 10:10:45 UTC
Please respond.

Comment 4 Christian Kellner 2019-07-11 07:49:41 UTC
I will try to have a look today.

Comment 5 Christian Kellner 2019-07-12 09:49:10 UTC
This needed a patch for the modified swig and another patch to deliver the patch. It should work now though, verified locally in container and a mock build with the python 3.8 config. A link to https://fedoraproject.org/wiki/Changes/Python3.8 would have been very helpful. Also, given that py3.8 was pushed to F32 I am not entirely convinced it is worth the effort now.

Comment 6 Miro Hrončok 2019-07-12 11:40:30 UTC
Thanks for the fix, it built: https://copr.fedorainfracloud.org/coprs/g/python/python3.8/build/968587/

Sorry for not providing the https://fedoraproject.org/wiki/Changes/Python3.8 link, you are correct, it should have been provided.

> Also, given that py3.8 was pushed to F32 I am not entirely convinced it is worth the effort now.

We try to have everything tested during the beta phases and we are convinced this is worth the effort. However you are free to disagree. Replying "I won't fix this now but rather wait for F32" would be a valid respond.

(It is worth noting that hundreds of Bugzillas being ignored by many maintainers for months was one of the reasons to push this to F32, although not the most important reason.)

Comment 7 Christian Kellner 2019-07-12 16:40:22 UTC
(In reply to Miro Hrončok from comment #6)

> > Also, given that py3.8 was pushed to F32 I am not entirely convinced it is worth the effort now.
> 
> We try to have everything tested during the beta phases and we are convinced
> this is worth the effort. However you are free to disagree. Replying "I
> won't fix this now but rather wait for F32" would be a valid respond.
Sorry, that maybe came out wrong. I actually do think that is worth checking early. It was just a bit of a hassle due to the custom swig that renderdoc is using. Speaking of which, I checked swig upstream[1] and it would seems to still generate the symbol. I filed issue https://github.com/swig/swig/issues/1586 for that.

[1] https://github.com/swig/swig/blob/3872890c1cdc67efd71abb3a1a588fb06d3f1edf/Lib/python/builtin.swg#L120

> (It is worth noting that hundreds of Bugzillas being ignored by many
> maintainers for months was one of the reasons to push this to F32, although
> not the most important reason.)
Fair point.