Bug 1443938

Summary: Firefox 53 - Arm build failure
Product: [Fedora] Fedora Reporter: Martin Stransky <stransky>
Component: firefoxAssignee: Martin Stransky <stransky>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: awilliam, dan, gecko-bugs-nobody, hannsj_uhl, jhorak, kengert, mruckman, normand, pjasicek, pwhalen, robatino, stransky, timo
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: RejectedBlocker
Fixed In Version: firefox-53.0.2-4.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1450755 1450995 (view as bug list) Environment:
Last Closed: 2017-05-17 19:10:04 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 245418    

Description Martin Stransky 2017-04-20 09:54:11 UTC
Description of problem:
Firefox 53 fails to build on second arches (ppc/arm).

Comment 1 Michel Normand 2017-05-04 07:45:42 UTC
* extract of build log is reporting a missing def of RegTypeName
  https://kojipkgs.fedoraproject.org//work/tasks/1157/19231157/build.log
* as per upstream query this is defined in  Architecture-shared.h
  that should be included via Architecture-none.h
  assuming JS_CODEGEN_NONE is defined.
  https://dxr.mozilla.org/mozilla-central/source/js/src/jit/none/Architecture-none.h#14
* BUT in unpacked source on fedora this include is not present.
* Suggestion is to add the two patches identified below from upstream.
=== build.log extract:
/builddir/build/BUILD/firefox-53.0/firefox-53.0/js/src/jit/Registers.h:91:22: error: 'RegTypeName' does not name a type; did you mean 'typename'?
     static constexpr RegTypeName DefaultType = RegTypeName::GPR;
                      ^~~~~~~~~~~
                      typename
===
https://hg.mozilla.org/mozilla-central/rev/2c924fb664c1
https://hg.mozilla.org/mozilla-central/rev/97c45b13a165
===

Comment 2 Michel Normand 2017-05-04 09:10:42 UTC
Note that even if correction of this include, then next failure 
is a rust related error as per scratchbuild (also for x86_64)
https://kojipkgs.fedoraproject.org//work/tasks/3829/19393829/build.log
===
...
     Running `/usr/bin/rustc --crate-name mp4parse_gtest /builddir/build/BUILD/firefox-53.0/firefox-53.0/dom/media/gtest/hello.rs --crate-type lib --emit=dep-info,link -C opt-level=2 -C panic=abort -C codegen-units=1 -C debuginfo=2 -C metadata=29cb3f043171d892 -C extra-filename=-29cb3f043171d892 --out-dir /builddir/build/BUILD/firefox-53.0/firefox-53.0/objdir/toolkit/library/gtest/rust/./x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -L dependency=/builddir/build/BUILD/firefox-53.0/firefox-53.0/objdir/toolkit/library/gtest/rust/./x86_64-unknown-linux-gnu/release/deps -L dependency=/builddir/build/BUILD/firefox-53.0/firefox-53.0/objdir/toolkit/library/gtest/rust/./release/deps`
error[E0463]: can't find crate for `cheddar`
 --> /builddir/build/BUILD/firefox-53.0/firefox-53.0/media/libstagefright/binding/mp4parse_capi/build.rs:1:1
  |
1 | extern crate cheddar;
  | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
error: aborting due to previous error
Build failed, waiting for other jobs to finish...
error: Could not compile `mp4parse_capi`.
===

Comment 3 Dan Horák 2017-05-04 09:12:14 UTC
the changelog contains

* Tue Apr 18 2017 Martin Stransky <stransky> - 53.0-1
 - Updated to 53.0 (B6)

so probably it's not the GA tarball (if B6 means Beta6), where these fixes would be included. If I see correctly in upstream mercurial repo, then these fixes landed 5 days after creating the FIREFOX_AURORA_53_BASE tag.

Comment 4 Michel Normand 2017-05-04 10:05:49 UTC
Hello Martin
is it feasible to keep firefox 52 in f26, as long as 53 do not build ? this would avoid some openQA tests to fail because of missing firefox at install time.

Comment 5 Martin Stransky 2017-05-05 07:15:24 UTC
(In reply to Michel Normand from comment #4)
> Hello Martin
> is it feasible to keep firefox 52 in f26, as long as 53 do not build ? this
> would avoid some openQA tests to fail because of missing firefox at install
> time.

I don't know how to do that - the builds are already in koji and updates I expect. Can rel-eng do it?

Comment 6 Martin Stransky 2017-05-05 07:16:21 UTC
(In reply to Dan Horák from comment #3)
> the changelog contains
> 
> * Tue Apr 18 2017 Martin Stransky <stransky> - 53.0-1
>  - Updated to 53.0 (B6)
> 
> so probably it's not the GA tarball (if B6 means Beta6), where these fixes
> would be included. If I see correctly in upstream mercurial repo, then these
> fixes landed 5 days after creating the FIREFOX_AURORA_53_BASE tag.

B6 means Build6 as you see them on http://archive.mozilla.org/pub/firefox/candidates/53.0-candidates/

Comment 7 Paul Whalen 2017-05-05 18:32:50 UTC
Proposing as a blocker for F26 Beta, firefox is the default browser on XFCE which is the release blocking desktop image on arm.

Comment 8 Martin Stransky 2017-05-10 12:21:13 UTC
(In reply to Michel Normand from comment #2)
> Note that even if correction of this include, then next failure 
> is a rust related error as per scratchbuild (also for x86_64)
> https://kojipkgs.fedoraproject.org//work/tasks/3829/19393829/build.log
> ===
> ...
>      Running `/usr/bin/rustc --crate-name mp4parse_gtest
> /builddir/build/BUILD/firefox-53.0/firefox-53.0/dom/media/gtest/hello.rs
> --crate-type lib --emit=dep-info,link -C opt-level=2 -C panic=abort -C
> codegen-units=1 -C debuginfo=2 -C metadata=29cb3f043171d892 -C
> extra-filename=-29cb3f043171d892 --out-dir
> /builddir/build/BUILD/firefox-53.0/firefox-53.0/objdir/toolkit/library/gtest/
> rust/./x86_64-unknown-linux-gnu/release/deps --target
> x86_64-unknown-linux-gnu -L
> dependency=/builddir/build/BUILD/firefox-53.0/firefox-53.0/objdir/toolkit/
> library/gtest/rust/./x86_64-unknown-linux-gnu/release/deps -L
> dependency=/builddir/build/BUILD/firefox-53.0/firefox-53.0/objdir/toolkit/
> library/gtest/rust/./release/deps`
> error[E0463]: can't find crate for `cheddar`
>  -->
> /builddir/build/BUILD/firefox-53.0/firefox-53.0/media/libstagefright/binding/
> mp4parse_capi/build.rs:1:1
>   |
> 1 | extern crate cheddar;
>   | ^^^^^^^^^^^^^^^^^^^^^ can't find crate
> error: aborting due to previous error
> Build failed, waiting for other jobs to finish...
> error: Could not compile `mp4parse_capi`.
> ===

AFAIK we don't support Rust on arm now. Should work with disabled Rust, which I'm building now.

Comment 9 Martin Stransky 2017-05-11 18:48:44 UTC
Arm builds are fixed now.

Comment 10 Martin Stransky 2017-05-11 18:55:53 UTC
firefox-53.0.2-3.fc26 is built for ARM. Looks like we still have problems with F24/25 which will be fixed later.

Comment 11 Mike Ruckman 2017-05-12 21:17:40 UTC
Discussed in the 2017-05-02 Blocker Review meeting [0]. This is rejected in favour of the alternative proposal #1448923 , which more precisely reflects the actual criteria violation. There was a long discussion on it during the meeting [1] as well as a mailing list discussion [2] to explain the rationale.

[0] Sorry for the late update on this.
[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2017-05-08/f26-blocker-review.2017-05-08-16.00.log.html
[2] https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org/thread/NNKH7V7S6XV673EG5YBQCG2MBO6LCUKP/

Comment 12 Martin Stransky 2017-05-15 06:43:08 UTC
Let's mark this as Arm build failures and target ppc/s390/aarch64 in different bugs.

Michael, thanks for the patches in comment 1 - that really helped. Right now I work on F25/24 build failures, F26/rawhide seems to be fine.

Comment 13 Fedora Update System 2017-05-16 08:25:15 UTC
firefox-53.0.2-4.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-6b8b0cc0a2

Comment 14 Fedora Update System 2017-05-16 17:44:12 UTC
firefox-53.0.2-4.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-6b8b0cc0a2

Comment 15 Adam Williamson 2017-05-16 21:18:12 UTC
Can someone test with ARM that the new build works? Thanks!

Comment 16 Fedora Update System 2017-05-17 19:10:04 UTC
firefox-53.0.2-4.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.