Change to wasi-sysroot bootstrapping broke wasi JS engine builds
Categories
(Firefox Build System :: Bootstrap Configuration, defect)
Tracking
(firefox-esr78 unaffected, firefox-esr91 unaffected, firefox91 unaffected, firefox92 wontfix, firefox93 fixed)
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox-esr91 | --- | unaffected |
firefox91 | --- | unaffected |
firefox92 | --- | wontfix |
firefox93 | --- | fixed |
People
(Reporter: till, Assigned: glandium)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files)
Bug 1722439 changed the way the wasi-sysroot is bootstrapped. This causes the JS engine not to build anymore on freshly-bootstrapped machines.
STR (tested on Ubuntu 20.04):
- ensure that
~/.mozbuild/wasi-sysroot
doesn't exist (either by removing it, or by not having a.mozbuild
directory at all) - run
mach bootstrap --application-choice=js
- run
MOZ_FETCHES_DIR=~/.mozbuild js/src/devtools/automation/autospider.py wasi
Expected result: a successful wasm32-wasi build of SpiderMonkey
Actual result: wasm-ld: error: cannot open crt1.o: No such file or directory
It looks like the idea is to only have the sysroot installed when targeting wasm-sandboxing, which unfortunately doesn't cover this use case. Is there any chance to change the configure script to install the sysroot whenever the target platform is wasm32-wasi?
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Set release status flags based on info from the regressing bug 1722439
Assignee | ||
Comment 2•3 years ago
|
||
Assignee | ||
Comment 3•3 years ago
|
||
We don't need wasi support in versions other than the ones currently used
to build Firefox.
Assignee | ||
Comment 4•3 years ago
|
||
The wasi-sysroot toolchain contains both a sysroot for wasi and a
compiler-rt for clang. That makes it impractical to use as a
bootstrapped sysroot for wasm32-wasi builds of Spidermonkey.
We thus split the toolchain in two, one for the compiler-rt and one
for the sysroot. Ideally, the compiler-rt one would avoid building
clang/llvm the same way the sysroot one does, but that leads to
a case of chicken-and-egg, because the compiler-rt is needed to build
the clang toolchain. Eventually, the clang build would be split from
the addition of the compiler-rt, but we're not there yet.
Assignee | ||
Comment 5•3 years ago
|
||
Comment 7•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/beeb98ddf00a
https://hg.mozilla.org/mozilla-central/rev/c92fa0fa4c57
https://hg.mozilla.org/mozilla-central/rev/a94ba4247ce9
https://hg.mozilla.org/mozilla-central/rev/8018783bd4b8
Comment 8•3 years ago
|
||
The patch landed in nightly and beta is affected.
:glandium, is this bug important enough to require an uplift?
If not please set status_beta
to wontfix
.
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•3 years ago
|
Updated•3 years ago
|
Description
•