ESR 60 build fails with Rust 1.33 due to missing documentation on macros in stylo
Categories
(Core :: CSS Parsing and Computation, defect, P5)
Tracking
()
People
(Reporter: federico, Unassigned)
Details
Attachments
(1 file)
305.60 KB,
text/x-log
|
Details |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0
Steps to reproduce:
This comes from https://bugzilla.opensuse.org/show_bug.cgi?id=1130694 - building Firefox 60.5.1 with Rust 1.33 fails in servo due to #![deny(missing_docs)] and some undocumented macros.
[ 2335s] 37:18.09 error: missing documentation for macro
[ 2335s] 37:18.09 --> servo/components/style_traits/values.rs:139:1
[ 2335s] 37:18.09 |
[ 2335s] 37:18.09 139 | macro_rules! serialize_function {
[ 2335s] 37:18.09 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 2335s] 37:18.09 |
[ 2335s] 37:18.10 note: lint level defined here
[ 2335s] 37:18.10 --> servo/components/style_traits/lib.rs:12:22
[ 2335s] 37:18.10 |
[ 2335s] 37:18.10 12 | #![deny(unsafe_code, missing_docs)]
[ 2335s] 37:18.10 | ^^^^^^^^^^^^
[ 2335s] 37:18.10
[ 2335s] 37:18.10 error: missing documentation for macro
[ 2335s] 37:18.10 --> servo/components/style_traits/values.rs:408:1
[ 2335s] 37:18.10 |
[ 2335s] 37:18.10 408 | macro_rules! define_css_keyword_enum {
[ 2335s] 37:18.10 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 2335s] 37:18.10
[ 2335s] 37:18.12 error: aborting due to 2 previous errors
Full build log is attached.
Updated•6 years ago
|
Updated•6 years ago
|
Comment 1•6 years ago
|
||
I'm getting the same error compiling Firefox 60.6.1 ESR with Rust 1.33.
![]() |
||
Comment 2•6 years ago
|
||
We'd consider a patch to turn off the lint. But I think our general policy is that building ESR Firefox with a version of Rust different from what current at the time of the ESR branch point is unsupported.
Comment 3•6 years ago
|
||
FWIW you should be able to build with RUSTFLAGS="--cap-lints allow"
.
Comment 4•6 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #3)
FWIW you should be able to build with
RUSTFLAGS="--cap-lints allow"
.
I have another build of FF 60.6.1esr for x86(32bit) that fails using Rust 1.31.1 (I know, I know. It's not supported). But was wondering if you might have another quick solution? RUSTFLAGS maybe? Here's the error:
Compiling audioipc v0.2.1 (/home/abuild/rpmbuild/BUILD/firefox-60.6.1/media/audioipc/audioipc)
Compiling audioipc-server v0.2.2 (/home/abuild/rpmbuild/BUILD/firefox-60.6.1/media/audioipc/server)
Compiling audioipc-client v0.3.0 (/home/abuild/rpmbuild/BUILD/firefox-60.6.1/media/audioipc/client)
rustc: ../lib/CodeGen/AsmPrinter/DwarfExpression.cpp:404: void llvm::DwarfExpression::addFragmentOffset(const llvm::DIExpression *): Assertion FragmentOffset >= OffsetInBits && "overlapping or duplicate fragments"' failed. error: Could not compile
audioipc-client`.
Thanks.
Comment 5•6 years ago
|
||
No idea about that unfortunately :/
Comment 6•6 years ago
|
||
Looks like almost a dupe to bug 1519629 ?
Comment 7•6 years ago
|
||
(In reply to Wolfgang Rosenauer [:wolfiR] from comment #6)
Looks like almost a dupe to bug 1519629 ?
It really is and the decision was made not to backport for esr builds.
Comment 8•6 years ago
|
||
(In reply to Jory A. Pratt from comment #7)
(In reply to Wolfgang Rosenauer [:wolfiR] from comment #6)
Looks like almost a dupe to bug 1519629 ?
It really is and the decision was made not to backport for esr builds.
Hm? When was that decision made? It has a trivial workaround (comment 3), but if it's useful to get it backported it should be trivial to do so.
I'd like to point out that bootstrapping with ./mach bootstrap in a fresh environment will happily install a newer Rust version, leading to the build failing. I understand not supporting newer Rust versions for ESR, but I think the bootstrapping scripts in the ESR branch should then be changed to provide a version of Rust that is actually supported. Right now someone could issue a simple ./mach bootstrap && ./mach build on a supported platform and still see the build fail.
Updated•3 years ago
|
Description
•