All users were logged out of Bugzilla on October 13th, 2018

./mach build binaries traverses ICU

RESOLVED WONTFIX

Status

RESOLVED WONTFIX
4 years ago
8 months ago

People

(Reporter: Ehsan, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

4 years ago
I'm saying this because of the build log on stdout, for example:

$ ./mach build binaries
 0:00.17 /usr/bin/make -C /Users/ehsan/moz/src/obj-ff-dbg.noindex -j8 -s backend.RecursiveMakeBackend
 0:00.35 /usr/bin/make -j8 -s binaries
 0:00.68 From dist/sdk: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:00.68 From dist/private: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:00.68 From dist/public: Kept 0 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:00.75 From dist/idl: Kept 1103 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:00.89 From dist/include: Kept 4174 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:01.02 From dist/bin: Kept 85 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:02.23 From _tests: Kept 18687 existing; Added/updated 0; Removed 0 files and 0 directories.
 0:02.34 make[1]: Circular memory/replace/dummy/target <- mozglue/build/target dependency dropped.
 0:02.66 Unified_cpp_layout_forms0.o
 0:02.96 make[3]: warning: -jN forced in submake: disabling jobserver mode.
 0:02.96 Making all in include
 0:02.97 Note: rebuild with "/Applications/Xcode.app/Contents/Developer/usr/bin/make VERBOSE=1 " to show all compiler parameters.
 0:02.97 Making all in testsuite
 0:02.97 /Applications/Xcode.app/Contents/Developer/usr/bin/make[3]: Making `all' in `stubdata'
 0:02.97 Making all in man
 0:02.98 /Applications/Xcode.app/Contents/Developer/usr/bin/make[3]: Making `all' in `common'
 0:03.02 /Applications/Xcode.app/Contents/Developer/usr/bin/make[3]: Making `all' in `i18n'
 0:03.09 /Applications/Xcode.app/Contents/Developer/usr/bin/make[3]: Making `all' in `tools'
 0:03.09 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `toolutil'
 0:03.10 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `ctestfw'
 0:03.11 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `makeconv'
 0:03.12 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `genrb'
 0:03.12 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `genbrk'
 0:03.13 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gencnval'
 0:03.13 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gensprep'
 0:03.14 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `icuinfo'
 0:03.15 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `genccode'
 0:03.15 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gencmn'
 0:03.16 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `icupkg'
 0:03.16 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `pkgdata'
 0:03.17 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gentest'
 0:03.17 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gennorm2'
 0:03.18 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gencfu'
 0:03.18 /Applications/Xcode.app/Contents/Developer/usr/bin/make[4]: Making `all' in `gendict'
 0:03.19 /Applications/Xcode.app/Contents/Developer/usr/bin/make[3]: Making `all' in `data'
 0:03.41 Note: rebuild with "/Applications/Xcode.app/Contents/Developer/usr/bin/make VERBOSE=1 all-local" to show all compiler parameters.
 0:04.06 cd include; /Applications/Xcode.app/Contents/Developer/usr/bin/make libs
 0:04.09 cd src; /Applications/Xcode.app/Contents/Developer/usr/bin/make libs
 0:04.10 cd builtins; /Applications/Xcode.app/Contents/Developer/usr/bin/make libs
 0:04.10 mkdir: /Users/ehsan/moz/src/obj-ff-dbg.noindex/security/nss/lib/freebl: File exists
 0:04.10 cd mangle; /Applications/Xcode.app/Contents/Developer/usr/bin/make libs
 0:04.14 cd legacydb; /Applications/Xcode.app/Contents/Developer/usr/bin/make libs
 0:06.64 liblayout_forms.a.desc
 0:06.68 libxul_s.a.desc
 0:06.68 XUL
 0:11.84 ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame
 0:11.84 ld: warning: direct access in JS::CustomAutoRooter::CustomAutoRooter<js::ThreadSafeContext>(js::ThreadSafeContext*, mozilla::detail::GuardObjectNotifier const&) to global weak symbol vtable for JS::CustomAutoRooter means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
 0:11.84 ld: warning: direct access in JS::CustomAutoRooter::CustomAutoRooter<js::ExclusiveContext>(js::ExclusiveContext*, mozilla::detail::GuardObjectNotifier const&) to global weak symbol vtable for JS::CustomAutoRooter means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
Your build was successful!

This doesn't take a lot of time, but it's still wasteful, and AFAICT it's a regression.
It's a trade-off. See the discussion in bug 1043862.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → WONTFIX
Note that if you mach build -v binaries, you'll see it's going through other directories as well, while going through icu, so the waste is global, not local to icu, and icu itself takes only a small amount of that. It's just visible when others aren't.
(Reporter)

Comment 3

4 years ago
(In reply to Mike Hommey [:glandium] from comment #2)
> Note that if you mach build -v binaries, you'll see it's going through other
> directories as well, while going through icu, so the waste is global, not
> local to icu, and icu itself takes only a small amount of that. It's just
> visible when others aren't.

Right, yes.

Updated

8 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.