Open Bug 1490673 Opened 6 years ago Updated 2 years ago

Firefox 62.0 does not build with clang 6.0.1 and glibc 2.24

Categories

(Core :: Graphics, defect, P3)

62 Branch
defect

Tracking

()

People

(Reporter: alzim, Unassigned)

References

Details

(Whiteboard: [gfx-noted])

User Agent: Mozilla/5.0 (X11; ROSA; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

Steps to reproduce:

%build
export CC=clang
export CXX=clang++

cat << EOF > $MOZCONFIG
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options MOZ_MAKE_FLAGS="%{_smp_mflags}"
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
ac_add_options --disable-crashreporter
ac_add_options --disable-debug
ac_add_options --disable-tests
ac_add_options --disable-updater
ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --enable-release
ac_add_options --enable-startup-notification
ac_add_options --host=%{_host}
ac_add_options --libdir="%{_libdir}"
ac_add_options --prefix="%{_prefix}"
ac_add_options --target=%{_target_platform}


Actual results:

64:29.97 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:1163:33: error: expected unqualified-id
64:29.97 constexpr const ImmutableString isinf("isinf");
64:29.98                                 ^
64:29.98 /usr/include/math.h:312:7: note: expanded from macro 'isinf'
64:29.98      (sizeof (x) == sizeof (float)                                            \
64:29.98       ^
64:29.98 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:1163:33: error: expected ')'
64:29.98 /usr/include/math.h:312:7: note: expanded from macro 'isinf'
64:29.98      (sizeof (x) == sizeof (float)                                            \
64:29.98       ^
64:29.98 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:1163:33: note: to match this '('
64:29.98 /usr/include/math.h:312:6: note: expanded from macro 'isinf'
64:29.98      (sizeof (x) == sizeof (float)                                            \
64:29.98      ^
64:29.98 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:1164:33: error: expected unqualified-id
64:29.98 constexpr const ImmutableString isnan("isnan");
64:29.98                                 ^
64:29.98 /usr/include/math.h:298:7: note: expanded from macro 'isnan'
64:29.98      (sizeof (x) == sizeof (float)                                            \
64:29.98       ^
64:29.98 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:1164:33: error: expected ')'
64:29.98 /usr/include/math.h:298:7: note: expanded from macro 'isnan'
64:29.98      (sizeof (x) == sizeof (float)                                            \
64:29.98       ^
64:29.98 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:1164:33: note: to match this '('
64:29.98 /usr/include/math.h:298:6: note: expanded from macro 'isnan'
64:29.98      (sizeof (x) == sizeof (float)                                            \
64:29.98      ^
64:30.10 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4697:18: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.10     BuiltInName::isnan,
64:30.10     ~~~~~~~~~~~~~^
64:30.10 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4706:18: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.10     BuiltInName::isnan,
64:30.10     ~~~~~~~~~~~~~^
64:30.11 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4715:18: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.11     BuiltInName::isnan,
64:30.11     ~~~~~~~~~~~~~^
64:30.12 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4724:18: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.12     BuiltInName::isnan,
64:30.12     ~~~~~~~~~~~~~^
64:30.13 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4733:18: error: no member named 'isinf' in namespace 'sh::BuiltInName'
64:30.13     BuiltInName::isinf,
64:30.13     ~~~~~~~~~~~~~^
64:30.14 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4742:18: error: no member named 'isinf' in namespace 'sh::BuiltInName'
64:30.14     BuiltInName::isinf,
64:30.14     ~~~~~~~~~~~~~^
64:30.15 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4751:18: error: no member named 'isinf' in namespace 'sh::BuiltInName'
64:30.15     BuiltInName::isinf,
64:30.15     ~~~~~~~~~~~~~^
64:30.15 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:4760:18: error: no member named 'isinf' in namespace 'sh::BuiltInName'
64:30.15     BuiltInName::isinf,
64:30.15     ~~~~~~~~~~~~~^
64:30.38 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13310:50: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.38                 if (name.beginsWith(BuiltInName::isnan))
64:30.38                                     ~~~~~~~~~~~~~^
64:30.40 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13364:50: error: no member named 'isinf' in namespace 'sh::BuiltInName'; did you mean 'asin'?
64:30.40                 if (name.beginsWith(BuiltInName::isinf))
64:30.40                                     ~~~~~~~~~~~~~^~~~~
64:30.40                                                  asin
64:30.40 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:991:33: note: 'asin' declared here
64:30.40 constexpr const ImmutableString asin("asin");
64:30.40                                 ^
64:30.41 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13391:50: error: no member named 'isinf' in namespace 'sh::BuiltInName'; did you mean 'asin'?
64:30.41                 if (name.beginsWith(BuiltInName::isinf))
64:30.41                                     ~~~~~~~~~~~~~^~~~~
64:30.41                                                  asin
64:30.42 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:991:33: note: 'asin' declared here
64:30.42 constexpr const ImmutableString asin("asin");
64:30.42                                 ^
64:30.42 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13418:50: error: no member named 'isinf' in namespace 'sh::BuiltInName'; did you mean 'asin'?
64:30.42                 if (name.beginsWith(BuiltInName::isinf))
64:30.42                                     ~~~~~~~~~~~~~^~~~~
64:30.42                                                  asin
64:30.42 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:991:33: note: 'asin' declared here
64:30.42 constexpr const ImmutableString asin("asin");
64:30.42                                 ^
64:30.44 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13436:50: error: no member named 'isinf' in namespace 'sh::BuiltInName'; did you mean 'asin'?
64:30.44                 if (name.beginsWith(BuiltInName::isinf))
64:30.44                                     ~~~~~~~~~~~~~^~~~~
64:30.44                                                  asin
64:30.44 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:991:33: note: 'asin' declared here
64:30.44 constexpr const ImmutableString asin("asin");
64:30.44                                 ^
64:30.45 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13445:50: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.45                 if (name.beginsWith(BuiltInName::isnan))
64:30.45                                     ~~~~~~~~~~~~~^
64:30.47 /home/alzim/abf/rpmbuild/BUILD/firefox-62.0/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp:13499:50: error: no member named 'isnan' in namespace 'sh::BuiltInName'
64:30.47                 if (name.beginsWith(BuiltInName::isnan))
64:30.47                                     ~~~~~~~~~~~~~^
64:30.47 fatal error: too many errors emitted, stopping now [-ferror-limit=]
64:30.62 20 errors generated.
64:30.63 gmake[4]: *** [/home/alzim/abf/rpmbuild/BUILD/firefox-62.0/config/rules.mk:1033: SymbolTable_autogen.o] Error 1
64:30.63 gmake[3]: *** [/home/alzim/abf/rpmbuild/BUILD/firefox-62.0/config/recurse.mk:74: gfx/angle/targets/translator/target] Error 2
64:30.63 gmake[3]: *** Waiting for unfinished jobs....
Component: Untriaged → Graphics
Product: Firefox → Core
Jeff is this something we're aware or, or do we need to do anything?
Flags: needinfo?(jgilbert)
Priority: -- → P3
Whiteboard: [gfx-noted]
I expect we'll see an ANGLE patch to fix this issue, which we can backport to older versions.
Assignee: nobody → jgilbert
Flags: needinfo?(jgilbert)
Ff 62.0.2 — no work ((
Summary: Firefox 62.0 does not build with clang 6.0.1 → Firefox 62.0 does not build with clang 6.0.1 and glib 2.24
Summary: Firefox 62.0 does not build with clang 6.0.1 and glib 2.24 → Firefox 62.0 does not build with clang 6.0.1 and glibc 2.24
Added #include <cmath> in SymbolTable_autogen.cpp
Build — OK

Patch:
62.0.2/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp
--- firefox-62.0.2-orig/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp	2018-09-20 19:41:23.000000000 +0300
+++ firefox-62.0.2/gfx/angle/checkout/src/compiler/translator/SymbolTable_autogen.cpp	2018-10-03 14:30:16.693344732 +0300
@@ -9,6 +9,8 @@
 // SymbolTable_autogen.cpp:
 //   Compile-time initialized built-ins.
 
+#include <cmath>
+
 #include "compiler/translator/SymbolTable.h"
 
 #include "angle_gl.h"
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Assignee: jgilbert → nobody
Status: ASSIGNED → NEW
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.