Closed Bug 1046334 Opened 10 years ago Closed 10 years ago

./mach build binaries traverses ICU

Categories

(Firefox Build System :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: ehsan.akhgari, Unassigned)

Details

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
Closed: 10 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.
(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.
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.