../include/mozilla/BaseProfilerMarkersPrerequisites.h throws many errors while compiling:
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr128 | --- | unaffected |
firefox136 | --- | unaffected |
firefox137 | --- | fixed |
firefox138 | --- | fixed |
People
(Reporter: herrtimson, Assigned: canova, NeedInfo)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files, 1 obsolete file)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Steps to reproduce:
I downloaded latest nightly source code snapshot from git and compiled it with gcc
Actual results:
something is very wrong here, the compile throws about 30 different errors:
40:46.16 gmake[4]: Leaving directory '/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/toolkit/components/protobuf'
40:46.52 gmake[4]: Entering directory '/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/toolkit/components/remote'
40:46.58 /usr/bin/armv7a-unknown-linux-gnueabihf-g++ --sysroot /usr/armv7a-unknown-linux-gnueabihf -o nsRemoteService.o -c -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/stl_wrappers -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/system_wrappers -include /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_SUPPORT_LEAKCHECKING -DSTATIC_EXPORTABLE_JS_API -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/components/remote -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/toolkit/components/remote -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/profile -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/xre -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/nspr -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/nss -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/nspr -I/var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/nss -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/libpng16 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/pixman-1 -DMOZILLA_CLIENT -include /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/mozilla-config.h -mfloat-abi=hard -fno-rtti -pthread -fno-sized-deallocation -fno-aligned-new -ffunction-sections -fdata-sections -fno-math-errno -fno-exceptions -pipe -fPIC -pipe -fomit-frame-pointer -O2 -fno-omit-frame-pointer -funwind-tables -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-invalid-offsetof -Wcomma-subscript -Wvolatile -Wno-deprecated-enum-enum-conversion -Wduplicated-cond -Wimplicit-fallthrough -Wlogical-op -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wno-multistatement-macros -Wno-error=class-memaccess -Wformat -Wformat-security -Wformat-overflow=2 -Wno-psabi -Wno-error=builtin-macro-redefined -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/gtk-3.0/unix-print -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/gtk-3.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/pango-1.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/at-spi2-atk/2.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/at-spi-2.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/dbus-1.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/lib/dbus-1.0/include -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/fribidi -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/harfbuzz -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/atk-1.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/cairo -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/freetype2 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/pixman-1 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/gdk-pixbuf-2.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/libpng16 -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/gio-unix-2.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/lib/libffi/include -pthread -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/glib-2.0 -I/usr/armv7a-unknown-linux-gnueabihf/usr/lib/glib-2.0/include -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/libmount -I/usr/armv7a-unknown-linux-gnueabihf/usr/include/blkid -fno-strict-aliasing -ffp-contract=off -MD -MP -MF .deps/nsRemoteService.o.pp -fdiagnostics-color /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/components/remote/nsRemoteService.cpp
40:46.58 In file included from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/system_wrappers/X11/X.h:3,
40:46.58 from /usr/armv7a-unknown-linux-gnueabihf/usr/include/X11/Xlib.h:44,
40:46.58 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/system_wrappers/X11/Xlib.h:3,
40:46.58 from /usr/armv7a-unknown-linux-gnueabihf/usr/include/gtk-3.0/gdk/gdkx.h:34,
40:46.59 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/system_wrappers/gdk/gdkx.h:3,
40:46.59 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/components/remote/nsGTKRemoteServer.h:12,
40:46.59 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/components/remote/nsRemoteService.cpp:14:
40:46.60 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:804:40: error: expected identifier before numeric constant
40:46.60 804 | enum class PayloadFlags : uint32_t { None = 0, Searchable = 1 };
40:46.60 | ^~~~
40:46.61 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:804:40: error: expected '}' before numeric constant
40:46.61 In file included from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/js/ProfilingStack.h:11,
40:46.61 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/js/RootingAPI.h:29,
40:46.62 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/js/Value.h:24,
40:46.62 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/nsISimpleEnumerator.h:11,
40:46.62 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/nsIDirectoryEnumerator.h:11,
40:46.62 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/nsIFile.h:11,
40:46.63 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/components/remote/nsRemoteService.h:16,
40:46.63 from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox-137.0/toolkit/components/remote/nsRemoteService.cpp:24:
40:46.63 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:804:38: note: to match this '{'
40:46.64 804 | enum class PayloadFlags : uint32_t { None = 0, Searchable = 1 };
40:46.64 | ^
40:46.64 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:804:40: error: expected unqualified-id before numeric constant
40:46.64 804 | enum class PayloadFlags : uint32_t { None = 0, Searchable = 1 };
40:46.65 | ^~~~
40:46.65 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:811:5: error: 'InputType' does not name a type
40:46.65 811 | InputType InputTy;
40:46.65 | ^~~~~~~~~
40:46.66 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:815:5: error: 'Format' does not name a type
40:46.66 815 | Format Fmt = Format::String;
40:46.66 | ^~~~~~
40:46.66 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:817:5: error: 'PayloadFlags' does not name a type; did you mean 'PayloadField'?
40:46.66 817 | PayloadFlags Flags = PayloadFlags::None;
40:46.67 | ^~~~~~~~~~~~
40:46.67 | PayloadField
40:46.67 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:840:12: error: ISO C++ forbids declaration of 'MarkerSchema' with no type [-fpermissive]
40:46.67 840 | explicit MarkerSchema(Location aLocation, Locations... aLocations)
40:46.68 | ^~~~~~~~~~~~
40:46.68 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:840:3: error: 'explicit' outside class declaration
40:46.68 840 | explicit MarkerSchema(Location aLocation, Locations... aLocations)
40:46.68 | ^~~~~~~~
40:46.69 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:840:25: error: 'template<class ... Locations> int mozilla::MarkerSchema' redeclared as different kind of entity
40:46.69 840 | explicit MarkerSchema(Location aLocation, Locations... aLocations)
40:46.69 | ^~~~~~~~
40:46.69 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:693:7: note: previous declaration 'class mozilla::MarkerSchema'
40:46.70 693 | class MarkerSchema {
40:46.70 | ^~~~~~~~~~~~
40:46.70 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:840:25: error: 'Location' was not declared in this scope; did you mean 'Locations'?
40:46.70 840 | explicit MarkerSchema(Location aLocation, Locations... aLocations)
40:46.71 | ^~~~~~~~
40:46.71 | Locations
40:46.71 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:840:54: error: expected primary-expression before '...' token
40:46.72 840 | explicit MarkerSchema(Location aLocation, Locations... aLocations)
40:46.72 | ^~~
40:46.72 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:841:46: error: expected unqualified-id before '{' token
40:46.72 841 | : mLocations{aLocation, aLocations...} {}
40:46.73 | ^
40:46.73 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:844:12: error: ISO C++ forbids declaration of 'MarkerSchema' with no type [-fpermissive]
40:46.73 844 | explicit MarkerSchema(const mozilla::MarkerSchema::Location* aLocations,
40:46.74 | ^~~~~~~~~~~~
40:46.74 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:844:3: error: 'explicit' outside class declaration
40:46.74 844 | explicit MarkerSchema(const mozilla::MarkerSchema::Location* aLocations,
40:46.74 | ^~~~~~~~
40:46.75 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h: In function 'int mozilla::MarkerSchema(const MarkerSchema::Location*, size_t)':
40:46.75 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:846:9: error: only constructors take member initializers
40:46.75 846 | : mLocations(aLocations, aLocations + aLength) {}
40:46.76 | ^~~~~~~~~~
40:46.76 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:846:55: warning: no return statement in function returning non-void [-Wreturn-type]
40:46.76 846 | : mLocations(aLocations, aLocations + aLength) {}
40:46.77 | ^
40:46.77 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h: At global scope:
40:46.77 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:851:28: error: expected constructor, destructor, or type conversion before '(' token
40:46.78 851 | MOZ_IMPLICIT MarkerSchema(SpecialFrontendLocation) {}
40:46.78 | ^
40:46.78 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:854:18: error: expected constructor, destructor, or type conversion before '=' token
40:46.78 854 | MarkerSchema() = delete;
40:46.78 | ^
40:46.79 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:862:3: error: 'MarkerSchema' does not name a type
40:46.79 862 | MarkerSchema& Set##name(std::string a##name) { \
40:46.79 | ^~~~~~~~~~~~
40:46.79 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:862:3: note: in definition of macro 'LABEL_SETTER'
40:46.79 862 | MarkerSchema& Set##name(std::string a##name) { \
40:46.80 | ^~~~~~~~~~~~
40:46.80 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:862:3: error: 'MarkerSchema' does not name a type
40:46.80 862 | MarkerSchema& Set##name(std::string a##name) { \
40:46.80 | ^~~~~~~~~~~~
40:46.81 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:862:3: note: in definition of macro 'LABEL_SETTER'
40:46.81 862 | MarkerSchema& Set##name(std::string a##name) { \
40:46.81 | ^~~~~~~~~~~~
40:46.81 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:862:3: error: 'MarkerSchema' does not name a type
40:46.81 862 | MarkerSchema& Set##name(std::string a##name) { \
40:46.81 | ^~~~~~~~~~~~
40:46.82 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:862:3: note: in definition of macro 'LABEL_SETTER'
40:46.82 862 | MarkerSchema& Set##name(std::string a##name) { \
40:46.82 | ^~~~~~~~~~~~
40:46.82 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:873:3: error: 'MarkerSchema' does not name a type
40:46.82 873 | MarkerSchema& SetAllLabels(std::string aText) {
40:46.83 | ^~~~~~~~~~~~
40:46.83 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:882:3: error: 'MarkerSchema' does not name a type
40:46.83 882 | MarkerSchema& SetIsStackBased() {
40:46.83 | ^~~~~~~~~~~~
40:46.83 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:896:3: error: 'MarkerSchema' does not name a type
40:46.84 896 | MarkerSchema& AddKeyFormat(std::string aKey, Format aFormat) {
40:46.84 | ^~~~~~~~~~~~
40:46.84 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:903:3: error: 'MarkerSchema' does not name a type
40:46.84 903 | MarkerSchema& AddKeyLabelFormat(std::string aKey, std::string aLabel,
40:46.84 | ^~~~~~~~~~~~
40:46.85 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:912:3: error: 'MarkerSchema' does not name a type
40:46.85 912 | MarkerSchema& AddKeyFormatSearchable(std::string aKey, Format aFormat,
40:46.85 | ^~~~~~~~~~~~
40:46.85 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:920:3: error: 'MarkerSchema' does not name a type
40:46.85 920 | MarkerSchema& AddKeyLabelFormatSearchable(std::string aKey,
40:46.86 | ^~~~~~~~~~~~
40:46.86 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:932:3: error: 'MarkerSchema' does not name a type
40:46.86 932 | MarkerSchema& AddStaticLabelValue(std::string aLabel, std::string aValue) {
40:46.86 | ^~~~~~~~~~~~
40:46.87 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:940:3: error: 'MarkerSchema' does not name a type
40:46.87 940 | MarkerSchema& AddChart(std::string aKey, GraphType aType) {
40:46.87 | ^~~~~~~~~~~~
40:46.88 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:945:3: error: 'MarkerSchema' does not name a type
40:46.88 945 | MarkerSchema& AddChartColor(std::string aKey, GraphType aType,
40:46.88 | ^~~~~~~~~~~~
40:46.89 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:953:76: error: non-member function 'void mozilla::Stream(JSONWriter&, const Span<const char>&)' cannot have ref-qualifier
40:46.89 953 | MFBT_API void Stream(JSONWriter& aWriter, const Span<const char>& aName) &&;
40:46.89 | ^~
40:46.90 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:955:2: error: expected unqualified-id before 'private'
40:46.90 955 | private:
40:46.90 | ^~~~~~~
40:46.91 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:957:36: error: weak declaration of 'mozilla::FormatToStringSpan' must be public
40:46.91 957 | MFBT_API static Span<const char> FormatToStringSpan(Format aFormat);
40:46.91 | ^~~~~~~~~~~~~~~~~~
40:46.92 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:957:55: warning: 'visibility' attribute ignored [-Wattributes]
40:46.92 957 | MFBT_API static Span<const char> FormatToStringSpan(Format aFormat);
40:46.92 | ^~~~~~
40:46.93 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:957:55: error: 'Format' was not declared in this scope
40:46.94 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:958:36: error: weak declaration of 'mozilla::Span<const char> mozilla::GraphTypeToStringSpan(GraphType)' must be public
40:46.94 958 | MFBT_API static Span<const char> GraphTypeToStringSpan(GraphType aType);
40:46.94 | ^~~~~~~~~~~~~~~~~~~~~
40:46.95 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:958:73: warning: 'visibility' attribute ignored [-Wattributes]
40:46.95 958 | MFBT_API static Span<const char> GraphTypeToStringSpan(GraphType aType);
40:46.95 | ^
40:46.95 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:959:36: error: weak declaration of 'mozilla::Span<const char> mozilla::GraphColorToStringSpan(GraphColor)' must be public
40:46.96 959 | MFBT_API static Span<const char> GraphColorToStringSpan(GraphColor aColor);
40:46.96 | ^~~~~~~~~~~~~~~~~~~~~~
40:46.96 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:959:76: warning: 'visibility' attribute ignored [-Wattributes]
40:46.97 959 | MFBT_API static Span<const char> GraphColorToStringSpan(GraphColor aColor);
40:46.97 | ^
40:46.97 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:962:15: error: 'Location' was not declared in this scope
40:46.98 962 | std::vector<Location> mLocations;
40:46.98 | ^~~~~~~~
40:46.98 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:962:23: error: template argument 1 is invalid
40:46.98 962 | std::vector<Location> mLocations;
40:46.99 | ^
40:46.99 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:962:23: error: template argument 2 is invalid
40:46.99 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:969:2: error: expected unqualified-id before 'private'
40:47.00 969 | private:
40:47.00 | ^~~~~~~
40:47.00 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:980:36: error: 'DynamicData' was not declared in this scope
40:47.01 980 | using DataRow = mozilla::Variant<DynamicData, StaticData>;
40:47.01 | ^~~~~~~~~~~
40:47.01 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:980:59: error: template argument 1 is invalid
40:47.02 980 | using DataRow = mozilla::Variant<DynamicData, StaticData>;
40:47.02 | ^
40:47.02 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:981:37: error: 'DataRow' was not declared in this scope
40:47.03 981 | using DataRowVector = std::vector<DataRow>;
40:47.03 | ^~~~~~~
40:47.03 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:981:44: error: template argument 1 is invalid
40:47.04 981 | using DataRowVector = std::vector<DataRow>;
40:47.04 | ^
40:47.04 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:981:44: error: template argument 2 is invalid
40:47.05 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:983:3: error: 'DataRowVector' does not name a type
40:47.05 983 | DataRowVector mData;
40:47.05 | ^~~~~~~~~~~~~
40:47.06 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:996:13: error: variable or field 'StreamPayload' declared void
40:47.06 996 | static void StreamPayload(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.06 | ^~~~~~~~~~~~~
40:47.07 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:996:27: error: 'baseprofiler' has not been declared
40:47.07 996 | static void StreamPayload(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.07 | ^~~~~~~~~~~~
40:47.08 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:996:63: error: 'aWriter' was not declared in this scope; did you mean 'write'?
40:47.08 996 | static void StreamPayload(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.08 | ^~~~~~~
40:47.09 | write
40:47.09 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:997:27: error: expected primary-expression before 'const'
40:47.10 997 | const Span<const char> aKey,
40:47.10 | ^~~~~
40:47.10 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:998:27: error: expected primary-expression before 'const'
40:47.10 998 | const PayloadType& aPayload) {
40:47.11 | ^~~~~
40:47.11 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1003:13: error: variable or field 'StreamPayload' declared void
40:47.12 1003 | inline void StreamPayload(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.12 | ^~~~~~~~~~~~~
40:47.12 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1003:27: error: 'baseprofiler' has not been declared
40:47.13 1003 | inline void StreamPayload(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.13 | ^~~~~~~~~~~~
40:47.13 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1003:63: error: 'aWriter' was not declared in this scope; did you mean 'write'?
40:47.14 1003 | inline void StreamPayload(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.14 | ^~~~~~~
40:47.14 | write
40:47.15 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1004:27: error: expected primary-expression before 'const'
40:47.15 1004 | const Span<const char> aKey,
40:47.15 | ^~~~~
40:47.16 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1005:27: error: expected primary-expression before 'const'
40:47.16 1005 | const Maybe<PayloadType>& aPayload) {
40:47.16 | ^~~~~
40:47.17 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1014:26: error: expected initializer before '<' token
40:47.17 1014 | inline void StreamPayload<bool>(baseprofiler::SpliceableJSONWriter& aWriter,
40:47.17 | ^
40:47.17 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1021:26: error: expected initializer before '<' token
40:47.18 1021 | inline void StreamPayload<ProfilerString8View>(
40:47.18 | ^
40:47.18 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1051:20: error: 'MarkerSchema' does not name a type
40:47.18 1051 | static constexpr MarkerSchema::ETWMarkerGroup Group =
40:47.19 | ^~~~~~~~~~~~
40:47.19 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1054:10: error: 'MarkerSchema' does not name a type
40:47.19 1054 | static MarkerSchema MarkerTypeDisplay() {
40:47.19 | ^~~~~~~~~~~~
40:47.20 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1095:20: error: 'Span' does not name a type
40:47.20 1095 | static constexpr Span<const char> MarkerTypeName() {
40:47.20 | ^~~~
40:47.21 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1106:7: error: 'baseprofiler' has not been declared
40:47.21 1106 | baseprofiler::SpliceableJSONWriter& aWriter,
40:47.22 | ^~~~~~~~~~~~
40:47.22 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1106:41: error: expected ',' or '...' before '&' token
40:47.22 1106 | baseprofiler::SpliceableJSONWriter& aWriter,
40:47.23 | ^
40:47.23 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h: In static member function 'static void BaseMarkerType<T>::StreamJSONMarkerDataImpl(int)':
40:47.24 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1109:14: error: 'StreamPayload' is not a member of 'detail'
40:47.24 1109 | (detail::StreamPayload(aWriter, MakeStringSpan(T::PayloadFields[i++].Key),
40:47.24 | ^~~~~~~~~~~~~
40:47.25 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1109:28: error: 'aWriter' was not declared in this scope; did you mean 'write'?
40:47.25 1109 | (detail::StreamPayload(aWriter, MakeStringSpan(T::PayloadFields[i++].Key),
40:47.25 | ^~~~~~~
40:47.26 | write
40:47.26 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1110:28: error: 'aPayloadArguments' was not declared in this scope; did you mean 'PayloadArguments'?
40:47.26 1110 | aPayloadArguments),
40:47.27 | ^~~~~~~~~~~~~~~~~
40:47.27 | PayloadArguments
40:47.27 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1111:6: error: operand of fold expression has no unexpanded parameter packs
40:47.27 1111 | ...);
40:47.28 | ^~~
40:47.28 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h: At global scope:
40:47.28 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:1114:1: error: expected declaration before '}' token
40:47.29 1114 | } // namespace mozilla
40:47.29 | ^
40:47.29 /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/include/mozilla/BaseProfilerMarkersPrerequisites.h:958:36: warning: 'mozilla::Span<const char> mozilla::GraphTypeToStringSpan(GraphType)' declared 'static' but never defined [-Wunused-function]
40:47.30 958 | MFBT_API static Span<const char> GraphTypeToStringSpan(GraphType aType);
Expected results:
I expect the build to continue and exit successfully.
The full build log is attached
Updated•25 days ago
|
Updated•25 days ago
|
Comment 1•24 days ago
|
||
:sfink, since you are the author of the regressor, bug 1924272, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
I've got a working git snapshot from 26th of February, if I apply the patchset from bug 1924272 on top if that I can reproduce the failure.
I don't have any idea yet which of the six patches may have introduced this error.
Assignee | ||
Comment 3•23 days ago
|
||
I managed to successfully compile Firefox with gcc on a Linux machine. I used a recent mozilla-central from March 1.
I'm on Ubuntu 24.04.2 x64, linux kernel: 6.11.0-17-generic, gcc 14.2.0 from homebrew.
Could you please specify your platform, gcc version, kernel/distribution, mozconfig settings, anything that could help us reproduce the issue?
please find the attached mozconfig I've used
I guess this is a regression for --enable-default-toolkit=cairo-gtk3-x11-only
also the log explicitly starts to throw errors when including the libX11 headers:
40:46.58 In file included from /var/tmp/portage/portage/www-client/firefox-137.0/work/firefox_build/dist/system_wrappers/X11/X.h:3,
40:46.58 from /usr/armv7a-unknown-linux-gnueabihf/usr/include/X11/Xlib.h:44,
I'm on gentoo amd64, using gcc-12 in this case. Its a cross-compiler for target armv7a, but that shouldn't matter.
Comment 5•23 days ago
|
||
Blerg, x11 headers strike again. We should either include X11UndefineNone or rename the None variant.
Comment 7•19 days ago
|
||
(In reply to tt_1 from comment #4)
Created attachment 9469338 [details]
nightly-mozconfigplease find the attached mozconfig I've used
I guess this is a regression for --enable-default-toolkit=cairo-gtk3-x11-only
fwiw, im seeing the same issue on OpenBSD (cf bug #1952212), and we use --enable-default-toolkit=cairo-gtk3
so X11+wayland.
Updated•19 days ago
|
Comment 8•19 days ago
|
||
a build of m-c from https://hg.mozilla.org/mozilla-central/rev/d0efb392c1783f46f27a946f48e3ef729ecd3675 was green on my buildbot.
looking at the commits from the regressor, id' suspect https://hg.mozilla.org/mozilla-central/rev/ca12404b6fdf or https://hg.mozilla.org/mozilla-central/rev/22a5dfe9fa5e since they change the includes in js/public/ProfilingStack.h
, which might unhide the breakage we're seeing.
Assignee | ||
Comment 9•19 days ago
|
||
I can't reproduce this issue so I can't test it myself, but Emilio's recommendation sounds good.
:gaston or :tt_1, could you check if this diff works for you?
diff --git a/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h b/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h
--- a/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h
+++ b/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h
@@ -32,6 +32,7 @@ enum class StackCaptureOptions {
#include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
#include "mozilla/Variant.h"
+#include "X11UndefineNone.h"
#include <initializer_list>
#include <string_view>
Assignee | ||
Updated•19 days ago
|
Comment 10•19 days ago
|
||
(In reply to Nazım Can Altınova [:canova][:canaltinova on phabricator] from comment #9)
I can't reproduce this issue so I can't test it myself, but Emilio's recommendation sounds good.
:gaston or :tt_1, could you check if this diff works for you?
diff --git a/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h b/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h --- a/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h +++ b/mozglue/baseprofiler/public/BaseProfilerMarkersPrerequisites.h @@ -32,6 +32,7 @@ enum class StackCaptureOptions { #include "mozilla/TimeStamp.h" #include "mozilla/UniquePtr.h" #include "mozilla/Variant.h" +#include "X11UndefineNone.h" #include <initializer_list> #include <string_view>
yes, that also works for me, so far i had the #undef None
hack locally, but it helps m-c, and i think the same fix is needed on m-b.
Comment 11•19 days ago
|
||
Set release status flags based on info from the regressing bug 1924272
Assignee | ||
Comment 12•19 days ago
|
||
Thanks for checking! Yeah, let's land this and uplift it to beta. I'll push a patch in a bit.
Assignee | ||
Comment 13•19 days ago
|
||
/X11.h defines a None
macro that clashes with our PayloadFlags::None variant.
This header include makes sure that it gets undef'd and renamed.
Updated•19 days ago
|
Reporter | ||
Comment 14•19 days ago
|
||
I can confirm the above fix is working for --enable-default-toolkit=cairo-gtk3-x11-only
please backport to 137 branch, the error got rolled over to beta! .__.
Comment 15•19 days ago
|
||
Assignee | ||
Comment 16•19 days ago
|
||
/X11.h defines a None
macro that clashes with our PayloadFlags::None variant.
This header include makes sure that it gets undef'd and renamed.
Original Revision: https://phabricator.services.mozilla.com/D240647
Updated•19 days ago
|
Comment hidden (obsolete) |
Comment 18•19 days ago
|
||
Backed out for causing build bustages @BaseProfilerMarkersPrerequisites.h. fatal error: 'X11UndefineNone.h' file not found
Assignee | ||
Comment 19•19 days ago
|
||
Hmm, looks like that broke SpiderMonkey builds... I guess the best option might be to just undef it manually then
Assignee | ||
Updated•19 days ago
|
Updated•19 days ago
|
Comment 20•19 days ago
|
||
Comment 21•18 days ago
|
||
bugherder |
Assignee | ||
Comment 22•18 days ago
|
||
11/X.h defines a None
macro that clashes with our PayloadFlags::None variant.
We undefine it here if it's defined already.
Original Revision: https://phabricator.services.mozilla.com/D240647
Updated•18 days ago
|
Comment 23•18 days ago
|
||
beta Uplift Approval Request
- User impact if declined: Failure to build Firefox on some Linux platforms
- Code covered by automated testing: no
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: -
- Risk associated with taking this patch: Very low
- Explanation of risk level: It only undefs a macro defined by X11/X.h that's not needed here
- String changes made/needed: -
- Is Android affected?: no
Updated•16 days ago
|
Comment 24•16 days ago
|
||
uplift |
Updated•16 days ago
|
Description
•