Bug 1987911

Summary: qtwebkit: FTBFS in Fedora rawhide/f35
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: qtwebkitAssignee: Than Ngo <than>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: jreznik, kde-sig, kevin, patrick, rdieter, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qtwebkit-2.3.4-35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-16 09:25:41 UTC Type: ---
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: 1927309, 1992484    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2021-07-29 16:48:06 UTC
qtwebkit failed to build from source in Fedora rawhide/f35

https://koji.fedoraproject.org/koji/taskinfo?taskID=72486918


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Please fix qtwebkit 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,
qtwebkit will be orphaned. Before branching of Fedora 36,
qtwebkit will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2021-07-29 16:54:28 UTC
Created attachment 1808587 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2021-07-29 16:54:31 UTC
Created attachment 1808588 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2021-07-29 16:54:33 UTC
Created attachment 1808589 [details]
state.log

Comment 4 Fedora Release Engineering 2021-08-01 04:33:42 UTC
Dear Maintainer,

your package has an open Fails To Build From Source bug for Fedora 35.
Action is required from you.

If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close this bug without creating an update, if updating is
not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to
acknowledge this. If you have already fixed this issue, please close this Bugzilla report.

Following the policy for such packages [2], your package will be orphaned if
this bug remains in NEW state more than 8 weeks (not sooner than 2021-09-23).

A week before the mass branching of Fedora 36 according to the schedule [3],
any packages not successfully rebuilt at least on Fedora 34 will be
retired regardless of the status of this bug.

[1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/
[2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/
[3] https://fedorapeople.org/groups/schedule/f-36/f-36-key-tasks.html

Comment 5 Kevin Kofler 2021-08-02 03:24:26 UTC
The errors are a few instances of these:
/usr/include/glib-2.0/glib/glib-typeof.h:40:24: error: expected unqualified-id before 'typename'
   40 | #define glib_typeof(t) typename std::remove_reference<decltype (t)>::type
      |                        ^~~~~~~~
/usr/include/glib-2.0/gobject/gobject.h:521:34: note: in expansion of macro 'glib_typeof'
  521 | #define g_object_ref_sink(Obj) ((glib_typeof (Obj)) (g_object_ref_sink) (Obj))
      |                                  ^~~~~~~~~~~
/builddir/build/BUILD/webkit-qtwebkit-23/Source/WTF/wtf/gobject/GRefPtr.h:33:21: note: in expansion of macro 'g_object_ref_sink'
   33 | extern "C" gpointer g_object_ref_sink(gpointer);
      |                     ^~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/glib-typeof.h:40:24: error: expected ')' before 'typename'
   40 | #define glib_typeof(t) typename std::remove_reference<decltype (t)>::type
      |                        ^~~~~~~~
/usr/include/glib-2.0/gobject/gobject.h:521:34: note: in expansion of macro 'glib_typeof'
  521 | #define g_object_ref_sink(Obj) ((glib_typeof (Obj)) (g_object_ref_sink) (Obj))
      |                                  ^~~~~~~~~~~
/builddir/build/BUILD/webkit-qtwebkit-23/Source/WTF/wtf/gobject/GRefPtr.h:33:21: note: in expansion of macro 'g_object_ref_sink'
   33 | extern "C" gpointer g_object_ref_sink(gpointer);
      |                     ^~~~~~~~~~~~~~~~~

Comment 6 Kevin Kofler 2021-08-02 03:28:23 UTC
It looks like g_object_ref_sink is now a macro, but GRefPtr.h tries to declare it as an extern function. In fact, WTF appears to bundle its own fork of GObject, which conflicts with the upstream GLib that WebKit depends on these days. WTF indeed. ;-)

I suppose "#undef g_object_ref_sink" would be the quick fix, but there may be other conflicts between the 2 versions of GObject.

Comment 7 Ben Cotton 2021-08-10 13:28:39 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle.
Changing version to 35.

Comment 8 Than Ngo 2021-09-16 09:25:41 UTC
it's fixed in qtwebkit-2.3.4-35