google-chromechromiumbranding

"icudtl.dat not found in bundle" when launching custom branded Chromium build on Mac?


I am trying to build Chromium from source. I was able to build it for Windows, now I am trying to build it for Mac.

I am customizing the branding so I can have my own icon and browser name.

I made these changes to: chromium/src/chrome/app/theme/chromium/BRANDING:

COMPANY_FULLNAME=The NewChromium Authors
COMPANY_SHORTNAME=The NewChromium Authors
PRODUCT_FULLNAME=NewChromium
PRODUCT_SHORTNAME=NewChromium
PRODUCT_INSTALLER_FULLNAME=NewChromium Installer
PRODUCT_INSTALLER_SHORTNAME=NewChromium Installer
COPYRIGHT=Copyright 2017 The NewChromium Authors. All rights reserved.
MAC_BUNDLE_ID=org.newchromium.NewChromium
MAC_CREATOR_CODE=Cr24

And here is my args.gn:

remove_webcore_debug_symbols = true
is_official_build = true
is_debug = false
google_api_key = "xxxx"
google_default_client_id = "xxxx"
google_default_client_secret = "xxxxx"
symbol_level = 0

Then I build:

ninja -C out/NewChromium chrome

As expected, I get a ./out/NewChromium/NewChromium.app

But when I launch it I get:

[0821/211427.998086:ERROR:icu_util.cc(114)] icudtl.dat not found in bundle
[0821/211427.998997:ERROR:icu_util.cc(133)] Invalid file descriptor to ICU data received.
Trace/BPT trap: 5

If I revert back to the default chromium/src/chrome/app/theme/chromium/BRANDING it works fine.

Am I missing some key change that needs to accompany BRANDING? Thanks!


Solution

  • Finally found answer - this file needs updated chrome/common/chrome_constants.cc

    If you don't update the product name here, you will get that nasty error I mentioned! Ugh.