Open Bug 1539901 Opened 6 years ago Updated 3 years ago

ESR 60 build fails with Rust 1.33 due to missing documentation on macros in stylo

Categories

(Core :: CSS Parsing and Computation, defect, P5)

60 Branch
defect

Tracking

()

People

(Reporter: federico, Unassigned)

Details

Attachments

(1 file)

Attached file firefox.log

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.

Has STR: --- → yes
Component: Untriaged → General
Product: Firefox → Firefox Build System

I'm getting the same error compiling Firefox 60.6.1 ESR with Rust 1.33.

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.

Status: UNCONFIRMED → NEW
Component: General → CSS Parsing and Computation
Ever confirmed: true
Priority: -- → P5
Product: Firefox Build System → Core
Summary: Build fails with Rust 1.33 → ESR 60 build fails with Rust 1.33 due to missing documentation on macros in stylo

FWIW you should be able to build with RUSTFLAGS="--cap-lints allow".

(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 compileaudioipc-client`.

Thanks.

No idea about that unfortunately :/

Looks like almost a dupe to bug 1519629 ?

(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.

(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.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: