RESOLVED FIXED 236072
webkitgtk 2.34.4 fails to build on aarch64 (with GCC 11.2.0)
https://bugs.webkit.org/show_bug.cgi?id=236072
Summary webkitgtk 2.34.4 fails to build on aarch64 (with GCC 11.2.0)
Marvin Schmidt
Reported 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
Attachments
Michael Catanzaro
Comment 1 2022-02-03 07:41:49 PST
Works for me. Try adding: #include "JITOpaqueByproducts.h" in WasmLLIntPlan.cpp. Does that work?
Marvin Schmidt
Comment 2 2022-04-29 04:06:39 PDT
Yep, that fixed it, thank you!
Note You need to log in before you can comment on or make changes to this bug.