RESOLVED FIXED 270394
[GTK] when not using "jumbo build", ARM64/A64DOpcode.h fails to compile with "error: ‘once_flag’ in namespace ‘std’ does not name a type"
https://bugs.webkit.org/show_bug.cgi?id=270394
Summary [GTK] when not using "jumbo build", ARM64/A64DOpcode.h fails to compile with ...
Morgan Wahl
Reported 2024-03-02 08:39:37 PST
When compiling with "jumbo build" disabled, it seems there's a header file missing a dependency. /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:84:21: error: ‘once_flag’ in namespace ‘std’ does not name a type 84 | static std::once_flag once; | ^~~~~~~~~ /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:31:1: note: ‘std::once_flag’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’? 30 | #include <wtf/DataLog.h> +++ |+#include <mutex> 31 | #include <wtf/FastMalloc.h> /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:85:14: error: ‘call_once’ is not a member of ‘std’ 85 | std::call_once(once, init); | ^~~~~~~~~ /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:85:14: note: ‘std::call_once’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’? /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:85:24: error: ‘once’ was not declared in this scope 85 | std::call_once(once, init); | ^~~~ I originally reported this to Gentoo (the distro I'm using) here: https://bugs.gentoo.org/925621 I'll attach the full ninja output for the this file.
Attachments
Full output for the failing file (deleted)
2024-03-02 08:39 PST, Morgan Wahl
no flags
Morgan Wahl
Comment 1 2024-03-02 08:40:23 PST
This is on webkit-gtk-2.42.3 (with Gentoo patches applied, but I don't think those affect this error.)
Morgan Wahl
Comment 2 2024-03-02 08:42:20 PST
I'm getting a 500 error when trying to attach the output, so I'll just put it in a comment. [1831/12844] /usr/bin/aarch64-unknown-linux-gnu-g++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKitGTK-4.1\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/API -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/assembler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/b3 -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/b3/air -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/bindings -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/builtins -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/bytecode -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/bytecompiler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/dfg -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64 -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/zydis/Zydis -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/domjit -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/ftl -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/heap -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/debugger -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/agents -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/augmentable -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/remote -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/interpreter -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/jit -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/llint -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/parser -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/profiler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/runtime -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/tools -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/wasm -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/wasm/js -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/yarr -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources/inspector -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources/runtime -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources/yarr -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/API/glib -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCoreGLib/DerivedSources -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCoreGLib/DerivedSources/jsc -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCoreGLib/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/remote/glib -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/WTF/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -DNDEBUG -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -Os -pipe -march=native -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++20 -fPIC -fvisibility=hidden -ffp-contract=off -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o -c /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp FAILED: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o /usr/bin/aarch64-unknown-linux-gnu-g++ -DBUILDING_GTK__=1 -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DGETTEXT_PACKAGE=\"WebKitGTK-4.1\" -DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DJavaScriptCore_EXPORTS -DPAS_BMALLOC=1 -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/API -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/assembler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/b3 -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/b3/air -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/bindings -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/builtins -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/bytecode -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/bytecompiler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/dfg -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64 -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/zydis/Zydis -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/domjit -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/ftl -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/heap -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/debugger -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/agents -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/augmentable -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/remote -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/interpreter -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/jit -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/llint -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/parser -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/profiler -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/runtime -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/tools -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/wasm -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/wasm/js -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/yarr -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources/inspector -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources/runtime -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCore/DerivedSources/yarr -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/API/glib -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCoreGLib/DerivedSources -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCoreGLib/DerivedSources/jsc -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/JavaScriptCoreGLib/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/inspector/remote/glib -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/WTF/Headers -I/var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4_build/bmalloc/Headers -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -DNDEBUG -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -Os -pipe -march=native -fno-strict-aliasing -fno-exceptions -fno-rtti -std=c++20 -fPIC -fvisibility=hidden -ffp-contract=off -MD -MT Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o -MF Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o.d -o Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/ARM64/A64DOpcode.cpp.o -c /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp In file included from /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp:30: /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h: In constructor ‘JSC::ARM64Disassembler::A64DOpcode::A64DOpcode(uint32_t*, uint32_t*)’: /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:84:21: error: ‘once_flag’ in namespace ‘std’ does not name a type 84 | static std::once_flag once; | ^~~~~~~~~ /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:31:1: note: ‘std::once_flag’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’? 30 | #include <wtf/DataLog.h> +++ |+#include <mutex> 31 | #include <wtf/FastMalloc.h> /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:85:14: error: ‘call_once’ is not a member of ‘std’ 85 | std::call_once(once, init); | ^~~~~~~~~ /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:85:14: note: ‘std::call_once’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’? /var/tmp/portage/net-libs/webkit-gtk-2.42.4-r410/work/webkitgtk-2.42.4/Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h:85:24: error: ‘once’ was not declared in this scope 85 | std::call_once(once, init); | ^~~~ ninja: build stopped: subcommand failed. * ERROR: net-libs/webkit-gtk-2.42.4-r410::gentoo failed (compile phase): * ninja -v -j1 -l2 failed * * Call stack: * ebuild.sh, line 136: Called src_compile * environment, line 3912: Called cmake_src_compile * environment, line 1752: Called cmake_build * environment, line 1719: Called eninja * environment, line 2195: Called die * The specific snippet of code: * "$@" || die -n "${*} failed" *
Morgan Wahl
Comment 3 2024-03-02 08:47:59 PST
Actaully, I think I misunderstood Gentoo's packaging. I don't think they applied any patches. I hit this on webkit-gtk-2.42.3 and webkit-gtk-2.42.4.
Dennis Camera
Comment 4 2024-03-04 08:55:15 PST
EWS
Comment 5 2024-03-04 09:29:23 PST
Committed 275630@main (56001e951362): <https://commits.webkit.org/275630@main> Reviewed commits have been landed. Closing PR #25420 and removing active labels.
Radar WebKit Bug Importer
Comment 6 2024-03-04 09:32:56 PST
Morgan Wahl
Comment 7 2024-03-04 14:47:37 PST
Just curious, is there a CI build that runs with UNIFIED_BUILDS disabled? To catch similar errors in the future?
Note You need to log in before you can comment on or make changes to this bug.