Bug 236072 - webkitgtk 2.34.4 fails to build on aarch64 (with GCC 11.2.0)
Summary: webkitgtk 2.34.4 fails to build on aarch64 (with GCC 11.2.0)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-02-03 03:58 PST by Marvin Schmidt
Modified: 2022-04-29 04:06 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marvin Schmidt 2022-02-03 03:58:24 PST
webkitgtk 2.34.4 fails to build for me with GCC 11.2.0 on a aarch64-unknown-linux-gnueabi system:

FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o 
/usr/bin/aarch64-unknown-linux-gnueabi-c++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\" -DHAVE_CONFIG_H=1 -DJSC_COMPILATION -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -DWEBKITGTK_API_VERSION_STRING=\"4.0\" -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/Headers -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/API -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/assembler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/b3 -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/b3/air -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/bindings -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/builtins -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/bytecode -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/bytecompiler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/dfg -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/disassembler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/disassembler/ARM64 -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/disassembler/udis86 -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/domjit -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/ftl -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/heap -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/debugger -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/agents -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/augmentable -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/remote -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/interpreter -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/jit -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/llint -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/parser -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/profiler -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/runtime -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/tools -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm/js -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/yarr -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/inspector -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/runtime -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/yarr -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/API/glib -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCoreGLib/DerivedSources/jsc -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCoreGLib/Headers -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/inspector/remote/glib -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers -I/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/bmalloc/Headers -isystem /usr/aarch64-unknown-linux-gnueabi/include/glib-2.0 -isystem /usr/aarch64-unknown-linux-gnueabi/lib/glib-2.0/include -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-nonnull -Wno-array-bounds -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -march=native -pipe -O2 -DNDEBUG -fno-strict-aliasing -fno-exceptions -fno-rtti -fPIC -ffp-contract=off -std=c++17 -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp.o -c /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp
In file included from /usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/memory:76,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers/wtf/StdLibExtras.h:30,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers/wtf/FastMalloc.h:26,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/config.h:38,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm/WasmLLIntGenerator.cpp:26,
                 from /mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-15db4ad9-3.cpp:1:
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h: In instantiation of 'void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = JSC::OpaqueByproducts]':
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h:361:17:   required from 'std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = JSC::OpaqueByproducts; _Dp = std::default_delete<JSC::OpaqueByproducts>]'
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h:962:30:   required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = JSC::Compilation; _Args = {JSC::MacroAssemblerCodeRef<(WTF::PtrTag)2367>, std::nullptr_t}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<JSC::Compilation>]'
/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/build/WTF/Headers/wtf/StdLibExtras.h:507:31:   required from 'decltype(auto) WTF::makeUnique(Args&& ...) [with T = JSC::Compilation; Args = {JSC::MacroAssemblerCodeRef<(WTF::PtrTag)2367>, std::nullptr_t}]'
/mnt/data/paludis/builddir/net-libs-webkit-2.34.4/work/webkitgtk-2.34.4/Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp:163:71:   required from here
/usr/aarch64-unknown-linux-gnueabi/include/c++/11.2.0/bits/unique_ptr.h:83:23: error: invalid application of 'sizeof' to incomplete type 'JSC::OpaqueByproducts'
   83 |         static_assert(sizeof(_Tp)>0,
      |                       ^~~~~~~~~~~
ninja: build stopped: subcommand failed.

Full build log: https://dev.exherbo.org/~marv/1643879122-install-net-libs_webkit-2.34.4:4.0::gnome.out.nocolor

The last version I was able to build successfully on that system was 2.30.5, so I think it started failing with 2.32.x

Any idea what's going on here? Help is much appreciated
Comment 1 Michael Catanzaro 2022-02-03 07:41:49 PST
Works for me. Try adding:

#include "JITOpaqueByproducts.h"

in WasmLLIntPlan.cpp. Does that work?
Comment 2 Marvin Schmidt 2022-04-29 04:06:39 PDT
Yep, that fixed it, thank you!