sccache-dist builds fail with "<inline asm>:5:13: error: Could not find incbin file '$SRC/config/external/icu/data/icudt67l.dat'"
Categories
(Firefox Build System :: General, defect)
Tracking
(firefox-esr68 unaffected, firefox-esr78 unaffected, firefox78 unaffected, firefox79 unaffected, firefox80 fixed)
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox-esr78 | --- | unaffected |
firefox78 | --- | unaffected |
firefox79 | --- | unaffected |
firefox80 | --- | fixed |
People
(Reporter: dholbert, Assigned: glandium)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
As of today, my sccache-dist
-boosted builds fail with the following error:
3:41.65 config/external/icu/data
3:41.86 <inline asm>:5:13: error: Could not find incbin file '/scratch/work/builds/mozilla-central/mozilla/config/external/icu/data/icudt67l.dat'
3:41.86 .incbin "/scratch/work/builds/mozilla-central/mozilla/config/external/icu/data/icudt67l.dat"
3:41.86 ^
3:41.87 1 error generated.
If I build without sccache at all (or with sccache-dist disabled via commenting out scheduler_url
in my config file), the build succeeds.
Per discussion in #developers, this seems to be a regression from bug 1650299.
Reporter | ||
Comment 1•4 years ago
•
|
||
Workaround for any folks like me who hit this: when you hit this error, you can temporarily turn off sccache-dist by commenting out the scheduler_url
line in ~/.config/sccache/config
, and then kill the local sccache daemon (sccache --stop-server
), and then build in the affected "config" directory (./mach build config
).
This should finish building in this directory, and then you can undo what you've done (uncomment the line, kill the local sccache daemon again), and do ./mach build
to pick up from where you left off.
Assignee | ||
Comment 2•4 years ago
|
||
It'd be possible to work around this by using an assembly file as source instead of C, which would essentially disable sccache for that file only. However, that doesn't help me for bug 1264836 because assembly files are not supported for the host, and bug 1264836 requires a host build of ICU. It feels to me a fix here would be to disable sccache "manually" for this file/directory, which would require a hack in a Makefile.in.
Assignee | ||
Comment 3•4 years ago
|
||
(There might actually be a way not to need the ICU data for the host)
Updated•4 years ago
|
Comment 4•4 years ago
|
||
Set release status flags based on info from the regressing bug 1650299
Assignee | ||
Comment 5•4 years ago
|
||
... instead of a C file. This avoids issues with sccache (via dist or
caching), because sccache doesn't do anything with assembly files,
but with a C file, it doesn't know about the incbin-included data file.
This has the unfortunate side effect of requiring some manual work to
mark the file for safeseh on 32-bits Windows.
Reporter | ||
Comment 6•4 years ago
|
||
I confirmed that this patch (layered on top of bug 1651305's patch) fixes the bug for me locally.
Thanks for the quick action!
Comment 8•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Description
•