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 1800249 - webkit2gtk3: FTBFS in Fedora rawhide/f32
Summary: webkit2gtk3: FTBFS in Fedora rawhide/f32
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: webkit2gtk3
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Eike Rathke
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F32FTBFS
TreeView+ depends on / blocked
 
Reported: 2020-02-06 20:22 UTC by Fedora Release Engineering
Modified: 2021-01-14 01:23 UTC (History)
5 users (show)

Fixed In Version: webkit2gtk3-2.27.4-3.fc32 webkit2gtk3-2.31.1-2.fc34 webkit2gtk3-2.31.1-2.eln108
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-02-10 19:00:22 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (32.00 KB, text/plain)
2020-02-06 20:22 UTC, Fedora Release Engineering
no flags Details
root.log (32.00 KB, text/plain)
2020-02-06 20:22 UTC, Fedora Release Engineering
no flags Details
state.log (802 bytes, text/plain)
2020-02-06 20:22 UTC, Fedora Release Engineering
no flags Details


Links
System ID Private Priority Status Summary Last Updated
WebKit Project 207365 0 None None None 2020-02-06 23:44:46 UTC
WebKit Project 207468 0 None None None 2020-02-10 18:07:34 UTC

Description Fedora Release Engineering 2020-02-06 20:22:47 UTC
webkit2gtk3 failed to build from source in Fedora rawhide/f32

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


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Please fix webkit2gtk3 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,
webkit2gtk3 will be orphaned. Before branching of Fedora 33,
webkit2gtk3 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

Comment 1 Fedora Release Engineering 2020-02-06 20:22:50 UTC
Created attachment 1661367 [details]
build.log

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

Comment 2 Fedora Release Engineering 2020-02-06 20:22:53 UTC
Created attachment 1661368 [details]
root.log

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

Comment 3 Fedora Release Engineering 2020-02-06 20:22:54 UTC
Created attachment 1661369 [details]
state.log

Comment 4 Michael Catanzaro 2020-02-06 23:41:24 UTC
FAILED: Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/common/event_tracer.cpp.o 
/usr/bin/c++  -DANGLE_ENABLE_ESSL -DANGLE_ENABLE_GLSL -DBUILDING_GTK__=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DEGL_EGL_PROTOTYPES=0 -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DGL_GLES_PROTOTYPES=0 -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DLIBANGLE_IMPLEMENTATION -DSVN_REVISION=\"tarball\" -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -I../Source/ThirdParty/ANGLE/include -I../Source/ThirdParty/ANGLE/include/KHR -I../Source/ThirdParty/ANGLE/src -I../Source/ThirdParty/ANGLE/src/common/third_party/base -ISource/ThirdParty/ANGLE/include -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-psabi -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -O2 -g1 -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 -march=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -DUSER_AGENT_GTK_DISTRIBUTOR_NAME='"Fedora"' -fno-strict-aliasing -fno-exceptions -fno-rtti -DNDEBUG -fPIC   -Wno-cast-align -Wno-suggest-attribute=format -Wno-type-limits -Wno-undef -Wno-unused-parameter -std=c++17 -MD -MT Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/common/event_tracer.cpp.o -MF Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/common/event_tracer.cpp.o.d -o Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/common/event_tracer.cpp.o -c ../Source/ThirdParty/ANGLE/src/common/event_tracer.cpp
In file included from ../Source/ThirdParty/ANGLE/src/common/event_tracer.h:9,
                 from ../Source/ThirdParty/ANGLE/src/common/event_tracer.cpp:5:
../Source/ThirdParty/ANGLE/include/platform/Platform.h:239:35: error: 'size_t' has not been declared
  239 |                                   size_t programSize,
      |                                   ^~~~~~
../Source/ThirdParty/ANGLE/include/platform/Platform.h:243:33: error: 'size_t' has not been declared
  243 |                                 size_t programSize,
      |                                 ^~~~~~


size_t is defined in a bunch of different headers. stdlib.h would suffice. ANGLE's Platform.h includes stdint.h, but it's not defined there.

Comment 5 Eike Rathke 2020-02-07 18:28:10 UTC
As that is C++ (even if .h) include <cstddef>

Comment 6 Eike Rathke 2020-02-07 18:40:00 UTC
Oh joy.. subsequent failure
FAILED: Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/libANGLE/FrameCapture_mock.cpp.o
/usr/bin/c++  -DANGLE_ENABLE_ESSL -DANGLE_ENABLE_GLSL -DBUILDING_GTK__=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DEGL_EGL_PROTOTYPES=0 -DGETTEXT_PACKAGE=\"WebKit2GTK -4.0\" -DGL_GLES_PROTOTYPES=0 -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DLIBANGLE_IMPLEMENTATION -DSVN_REVISION=\"tarball\" -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -I../Source/ThirdParty/ANGLE/include -I../Source/ThirdParty/ANGLE/include/KHR -I../Source/ThirdParty/ANGLE/src -I../Source/ThirdParty/ANGLE/src/common/third_party/base -ISource/ThirdParty/ANGLE/include -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-psabi -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -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 -DUSER_AGENT_GTK_DISTRIBUTOR_NAME='"Fedora"' -fno-strict-aliasing -fno-exceptions -fno-rtti -DNDEBUG -fPIC   -Wno-cast-align -Wno-suggest-attribute=format -Wno-type-limits -Wno-undef -Wno-unused-parameter -std=c++17 -MD -MT Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/libANGLE/FrameCapture_mock.cpp.o -MF Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/libANGLE/FrameCapture_mock.cpp.o.d -o Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/libANGLE/FrameCapture_mock.cpp.o -c ../Source/ThirdParty/ANGLE/src/libANGLE/FrameCapture_mock.cpp
In file included from ../Source/ThirdParty/ANGLE/src/libANGLE/FrameCapture.h:13,
                 from ../Source/ThirdParty/ANGLE/src/libANGLE/FrameCapture_mock.cpp:10:
../Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h:427:2:   in 'constexpr' expansion of 'angle::PackedEnumMap<gl::ComponentType, unsigned int>(std::initializer_list<std::pair<gl::ComponentType, unsigned int> >{((const std::pair<gl::ComponentType, unsigned int>*)(& const std::pair<gl::ComponentType, unsigned int> [3]{std::pair<gl::ComponentType, unsigned int>{gl::ComponentType::Float, 65537}, std::pair<gl::ComponentType, unsigned int>{gl::ComponentType::Int, 1}, std::pair<gl::ComponentType, unsigned int>{gl::ComponentType::UnsignedInt, 65536}})), 3})'
../Source/ThirdParty/ANGLE/src/common/PackedEnums.h:89:72: error: modifying a const object '(unsigned int&)(&(&(const Storage&)(&((angle::PackedEnumMap<gl::ComponentType, unsigned int>*)this)->angle::PackedEnumMap<gl::ComponentType, unsigned int>::mPrivateData))->std::array<unsigned int, 4>::operator[](((std::array<unsigned int, 4>::size_type)((angle::PackedEnumMap<gl::ComponentType, unsigned int>::UnderlyingType)it->std::pair<gl::ComponentType, unsigned int>::first))))' is not allowed in a constant expression
   88 |             const_cast<T &>(const_cast<const Storage &>(
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   89 |                 mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from ../Source/ThirdParty/ANGLE/src/libANGLE/Caps.h:12,
                 from ../Source/ThirdParty/ANGLE/src/libANGLE/Context.h:20,
                 from ../Source/ThirdParty/ANGLE/src/libANGLE/FrameCapture.h:14,
                 from ../Source/ThirdParty/ANGLE/src/libANGLE/FrameCapture_mock.cpp:10:
../Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h:427:2: note: originally declared 'const' here
  427 | }};
      |  ^

Comment 7 Michael Catanzaro 2020-02-07 19:27:06 UTC
For historical reasons, WebKit code style mostly prefers to include C headers when there is a choice between a C header and an equivalent C++ header, but it's inconsistent. That doesn't matter here because this is an ANGLE header, but it's already including stdint.h rather than cstdint, so makes sense to match the existing code style....

Comment 9 Michael Catanzaro 2020-02-07 21:37:18 UTC
I'm installing a rawhide VM to try building WebKit there and catch any remaining failures. We'll see how it goes.

Comment 10 Eike Rathke 2020-02-07 22:53:12 UTC
Please pull again, I committed the fix so far.

It now failed at the very end when generating the documentation with a
cc1: warning: command-line option ‘-Wno-noexcept-type’ is valid for C++/ObjC++ but not for C                            
Not an error though, but that seems to be the cause, omitting that option from the command made it succeed:

cd /builddir/build/BUILD/webkitgtk-2.27.4/x86_64-redhat-linux-gnu && /usr/bin/cmake -E env CC=/usr/bin/cc "CFLAGS=-fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-psabi -Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -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 -DUSER_AGENT_GTK_DISTRIBUTOR_NAME='\"Fedora\"' -fno-strict-aliasing -fno-exceptions -Wno-unused-parameter" "LDFLAGS=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -fuse-ld=gold -Wl,--disable-new-dtags" /builddir/build/BUILD/webkitgtk-2.27.4/Tools/gtkdoc/generate-gtkdoc --gtk && touch docs-build.stamp

Comment 11 Michael Catanzaro 2020-02-08 00:36:34 UTC
Thanks Eike!

I'm testing this change:

diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
index c5fa4c3ea58..49446644e47 100644
--- a/Source/cmake/WebKitCompilerFlags.cmake
+++ b/Source/cmake/WebKitCompilerFlags.cmake
@@ -123,10 +123,11 @@ if (COMPILER_IS_GCC_OR_CLANG)
     # FIXME: We should probably not be disabling -Wno-maybe-uninitialized?
     WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Qunused-arguments
                                          -Wno-maybe-uninitialized
-                                         -Wno-noexcept-type
                                          -Wno-parentheses-equality
                                          -Wno-psabi)
 
+    WEBKIT_PREPEND_GLOBAL_CXX_FLAGS(-Wno-noexcept-type)
+
     # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80947
     if (${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS "8.0" AND NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang")
         WEBKIT_PREPEND_GLOBAL_CXX_FLAGS(-Wno-attributes)

Comment 13 Eike Rathke 2020-02-10 19:00:22 UTC
Thanks!

Comment 14 Fedora Update System 2021-01-13 21:08:40 UTC
FEDORA-2021-a54756b357 has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 15 Fedora Update System 2021-01-14 01:23:49 UTC
FEDORA-2021-45e2a134ce has been pushed to the Fedora ELN stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.