Bug: style_traits build error in Firefox 81.0.2 with Rust 1.47
Status: RESOLVED
Priority: --
Resolution: WORKSFORME
Created: 2020-10-17 05:12:40+00:00
Resolved: 2020-11-09 08:31:03+00:00

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

Tried to build Firefox 81.0.2 with Node 14.14, Python 3.9 and Rust 1.47 with the following build command:

LIBRARY_PATH=/home/etna/Runtime/opt/nodejs-14.14.0/lib:/home/etna/Runtime/opt/rust-1.47.0/lib:/home/etna/Runtime/opt/sqlite-3.31.1/lib:/home/etna/Runtime/opt/libbz2-1.0.8/lib:/home/etna/Runtime/opt/Python3.9.0/lib:/home/etna/Runtime/opt/Python3.9.0/lib64:/home/etna/Runtime/opt/libssh2-1.9.0/lib:/home/etna/Runtime/opt/libnotify-0.7.8/lib:/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu:/home/etna/Runtime/lib:/home/etna/Runtime/lib/x86_64-linux-gnu:/home/etna/Runtime/lib64:$LIBRARY_PATH C_INCLUDE_PATH=/home/etna/Runtime/opt/nodejs-14.14.0/include:/home/etna/Runtime/opt/nodejs-14.14.0/include/node:/home/etna/Runtime/opt/sqlite-3.31.1/include:/home/etna/Runtime/opt/libbz2-1.0.8/include:/home/etna/Runtime/opt/Python3.9.0/include:/home/etna/Runtime/opt/Python3.9.0/include/python3.9:/home/etna/Runtime/opt/libssh2-1.9.0/include:/home/etna/Runtime/opt/libnotify-0.7.8/include:/home/etna/Runtime/opt/libnotify-0.7.8/include/libnotify:/home/etna/Runtime/include:$C_INCLUDE_PATH CPLUS_INCLUDE_PATH=/home/etna/Runtime/opt/nodejs-14.14.0/include:/home/etna/Runtime/opt/nodejs-14.14.0/include/node:/home/etna/Runtime/opt/sqlite-3.31.1/include:/home/etna/Runtime/opt/libbz2-1.0.8/include:/home/etna/Runtime/opt/Python3.9.0/include:/home/etna/Runtime/opt/Python3.9.0/include/python3.9:/home/etna/Runtime/opt/libssh2-1.9.0/include:/home/etna/Runtime/opt/libnotify-0.7.8/include:/home/etna/Runtime/opt/libnotify-0.7.8/include/libnotify:/home/etna/Runtime/include:$CPLUS_INCLUDE_PATH LD_LIBRARY_PATH=/home/etna/Runtime/opt/nodejs-14.14.0/lib:/home/etna/Runtime/opt/rust-1.47.0/lib:/home/etna/Runtime/opt/sqlite-3.31.1/lib:/home/etna/Runtime/opt/libbz2-1.0.8/lib:/home/etna/Runtime/opt/Python3.9.0/lib:/home/etna/Runtime/opt/Python3.9.0/lib64:/home/etna/Runtime/opt/libssh2-1.9.0/lib:/home/etna/Runtime/opt/libnotify-0.7.8/lib:/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu:/home/etna/Runtime/lib:/home/etna/Runtime/lib/x86_64-linux-gnu:/home/etna/Runtime/lib64:$LD_LIBRARY_PATH PATH=/home/etna/Runtime/opt/nodejs-14.14.0/bin:/home/etna/Runtime/opt/rust-1.47.0/bin:/home/etna/Runtime/opt/sqlite-3.31.1/bin:/home/etna/Runtime/opt/libbz2-1.0.8/bin:/home/etna/Runtime/opt/Python3.9.0/bin:/home/etna/Runtime/opt/libnotify-0.7.8/bin:/home/etna/Runtime/opt/gperf-3.1/bin:/home/etna/Runtime/bin:/home/etna/Runtime/libexec:$PATH PKG_CONFIG_PATH=/home/etna/Runtime/opt/sqlite-3.31.1/lib/pkgconfig:/home/etna/Runtime/opt/Python3.9.0/lib/pkgconfig:/home/etna/Runtime/opt/Python3.9.0/lib64/pkgconfig:/home/etna/Runtime/opt/libssh2-1.9.0/lib/pkgconfig:/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu/pkgconfig:/home/etna/Runtime/lib/pkgconfig:/home/etna/Runtime/lib/x86_64-linux-gnu/pkgconfig:/home/etna/Runtime/lib64/pkgconfig:$PKG_CONFIG_PATH LDFLAGS='-L/home/etna/Runtime/opt/nodejs-14.14.0/lib -L/home/etna/Runtime/opt/rust-1.47.0/lib -L/home/etna/Runtime/opt/sqlite-3.31.1/lib -L/home/etna/Runtime/opt/libbz2-1.0.8/lib -L/home/etna/Runtime/opt/Python3.9.0/lib -L/home/etna/Runtime/opt/Python3.9.0/lib64 -L/home/etna/Runtime/opt/libssh2-1.9.0/lib -L/home/etna/Runtime/opt/libnotify-0.7.8/lib -L/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu -L/home/etna/Runtime/lib -L/home/etna/Runtime/lib/x86_64-linux-gnu -L/home/etna/Runtime/lib64' CPPFLAGS='-I/home/etna/Runtime/opt/nodejs-14.14.0/include -I/home/etna/Runtime/opt/nodejs-14.14.0/include/node -I/home/etna/Runtime/opt/sqlite-3.31.1/include -I/home/etna/Runtime/opt/libbz2-1.0.8/include -I/home/etna/Runtime/opt/Python3.9.0/include -I/home/etna/Runtime/opt/Python3.9.0/include/python3.9 -I/home/etna/Runtime/opt/libssh2-1.9.0/include -I/home/etna/Runtime/opt/libnotify-0.7.8/include -I/home/etna/Runtime/opt/libnotify-0.7.8/include/libnotify -I/home/etna/Runtime/include' CC=/home/etna/Runtime/bin/clang CXX=/home/etna/Runtime/bin/clang++ cc=/home/etna/Runtime/bin/clang cxx=/home/etna/Runtime/bin/clang++ CFLAGS='-L/home/etna/Runtime/opt/nodejs-14.14.0/lib -L/home/etna/Runtime/opt/rust-1.47.0/lib -L/home/etna/Runtime/opt/sqlite-3.31.1/lib -L/home/etna/Runtime/opt/libbz2-1.0.8/lib -L/home/etna/Runtime/opt/Python3.9.0/lib -L/home/etna/Runtime/opt/Python3.9.0/lib64 -L/home/etna/Runtime/opt/libssh2-1.9.0/lib -L/home/etna/Runtime/opt/libnotify-0.7.8/lib -L/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu -L/home/etna/Runtime/lib -L/home/etna/Runtime/lib/x86_64-linux-gnu -L/home/etna/Runtime/lib64 -I/home/etna/Runtime/opt/nodejs-14.14.0/include -I/home/etna/Runtime/opt/nodejs-14.14.0/include/node -I/home/etna/Runtime/opt/sqlite-3.31.1/include -I/home/etna/Runtime/opt/libbz2-1.0.8/include -I/home/etna/Runtime/opt/Python3.9.0/include -I/home/etna/Runtime/opt/Python3.9.0/include/python3.9 -I/home/etna/Runtime/opt/libssh2-1.9.0/include -I/home/etna/Runtime/opt/libnotify-0.7.8/include -I/home/etna/Runtime/opt/libnotify-0.7.8/include/libnotify -I/home/etna/Runtime/include -Wl,-rpath -Wl,/home/etna/Runtime/opt/nodejs-14.14.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/rust-1.47.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/sqlite-3.31.1/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/libbz2-1.0.8/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/Python3.9.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/Python3.9.0/lib64 -Wl,-rpath -Wl,/home/etna/Runtime/opt/libssh2-1.9.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/libnotify-0.7.8/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu -Wl,-rpath -Wl,/home/etna/Runtime/lib -Wl,-rpath -Wl,/home/etna/Runtime/lib/x86_64-linux-gnu -Wl,-rpath -Wl,/home/etna/Runtime/lib64 -fPIC' CXXFLAGS='-L/home/etna/Runtime/opt/nodejs-14.14.0/lib -L/home/etna/Runtime/opt/rust-1.47.0/lib -L/home/etna/Runtime/opt/sqlite-3.31.1/lib -L/home/etna/Runtime/opt/libbz2-1.0.8/lib -L/home/etna/Runtime/opt/Python3.9.0/lib -L/home/etna/Runtime/opt/Python3.9.0/lib64 -L/home/etna/Runtime/opt/libssh2-1.9.0/lib -L/home/etna/Runtime/opt/libnotify-0.7.8/lib -L/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu -L/home/etna/Runtime/lib -L/home/etna/Runtime/lib/x86_64-linux-gnu -L/home/etna/Runtime/lib64 -I/home/etna/Runtime/opt/nodejs-14.14.0/include -I/home/etna/Runtime/opt/nodejs-14.14.0/include/node -I/home/etna/Runtime/opt/sqlite-3.31.1/include -I/home/etna/Runtime/opt/libbz2-1.0.8/include -I/home/etna/Runtime/opt/Python3.9.0/include -I/home/etna/Runtime/opt/Python3.9.0/include/python3.9 -I/home/etna/Runtime/opt/libssh2-1.9.0/include -I/home/etna/Runtime/opt/libnotify-0.7.8/include -I/home/etna/Runtime/opt/libnotify-0.7.8/include/libnotify -I/home/etna/Runtime/include -Wl,-rpath -Wl,/home/etna/Runtime/opt/nodejs-14.14.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/rust-1.47.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/sqlite-3.31.1/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/libbz2-1.0.8/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/Python3.9.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/Python3.9.0/lib64 -Wl,-rpath -Wl,/home/etna/Runtime/opt/libssh2-1.9.0/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/libnotify-0.7.8/lib -Wl,-rpath -Wl,/home/etna/Runtime/opt/libnotify-0.7.8/lib/x86_64-linux-gnu -Wl,-rpath -Wl,/home/etna/Runtime/lib -Wl,-rpath -Wl,/home/etna/Runtime/lib/x86_64-linux-gnu -Wl,-rpath -Wl,/home/etna/Runtime/lib64 -fPIC' MACH_USE_SYSTEM_PYTHON=1 ./mach build

My mozconfig is as follow:
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
ac_add_options --prefix=/home/etna/Runtime/Applications/Firefox/v81.0.2
ac_add_options --enable-application=browser
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
#ac_add_options --disable-dbus
#ac_add_options --disable-gconf
ac_add_options --disable-necko-wifi
ac_add_options --disable-elf-hack


Actual results:

Compilation failed when the build tried to compile style_traits with the following errors:

 0:03.10 error: expected literal
 0:03.10   --> servo/components/style_traits/viewport.rs:12:1
 0:03.10    |
 0:03.10 12 | / define_css_keyword_enum! {
 0:03.10 13 | |     pub enum UserZoom {
 0:03.10 14 | |         Zoom = "zoom",
 0:03.10 15 | |         Fixed = "fixed",
 0:03.10 16 | |     }
 0:03.10 17 | | }
 0:03.10    | |_^
 0:03.10    |
 0:03.10    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 0:03.10 error: expected literal
 0:03.10   --> servo/components/style_traits/viewport.rs:19:1
 0:03.10    |
 0:03.10 19 | / define_css_keyword_enum! {
 0:03.10 20 | |     pub enum Orientation {
 0:03.10 21 | |         Auto = "auto",
 0:03.10 22 | |         Portrait = "portrait",
 0:03.10 23 | |         Landscape = "landscape",
 0:03.10 24 | |     }
 0:03.10 25 | | }
 0:03.10    | |_^
 0:03.10    |
 0:03.10    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 0:03.12 error[E0425]: cannot find value `MAX_LENGTH` in module `cssparser_internal`
 0:03.12   --> servo/components/style_traits/viewport.rs:12:1
 0:03.12    |
 0:03.12 12 | / define_css_keyword_enum! {
 0:03.12 13 | |     pub enum UserZoom {
 0:03.12 14 | |         Zoom = "zoom",
 0:03.13 15 | |         Fixed = "fixed",
 0:03.13 16 | |     }
 0:03.13 17 | | }
 0:03.13    | |_^ not found in `cssparser_internal`
 0:03.13    |
 0:03.13    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 0:03.13 error[E0425]: cannot find value `MAX_LENGTH` in module `cssparser_internal`
 0:03.13   --> servo/components/style_traits/viewport.rs:19:1
 0:03.13    |
 0:03.13 19 | / define_css_keyword_enum! {
 0:03.13 20 | |     pub enum Orientation {
 0:03.13 21 | |         Auto = "auto",
 0:03.13 22 | |         Portrait = "portrait",
 0:03.13 23 | |         Landscape = "landscape",
 0:03.13 24 | |     }
 0:03.13 25 | | }
 0:03.13    | |_^ not found in `cssparser_internal`
 0:03.13    |
 0:03.13    = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
 0:03.35 error: aborting due to 4 previous errors
 0:03.35 For more information about this error, try `rustc --explain E0425`.
 0:03.35 error: could not compile `style_traits`.


Expected results:

Build should have succeeded. I should note that last week, I successfully compiled Firefox 81.0.1 with Node 14.13.1, Python 3.9 and Rust 1.47