cannot compile obj/content/browser/content.time_zone_monitor.o because of a undefined reference.

108 views
Skip to first unread message

Mark Enriquez

unread,
May 29, 2015, 4:55:22 AM5/29/15
to chromi...@chromium.org
I have tried to compile chromium source from commondatastorage.googleapis.com/chromium-browser-official, version 44.0.2403.4, but cannot get pass this  error:
../../content/browser/time_zone_monitor.cc: In member function void content::TimeZoneMonitor::NotifyRenderers()’:
../../content/browser/time_zone_monitor.cc:30:29: error: detectHostTimeZone is not a member of icu_52::TimeZone
   icu
::TimeZone* new_zone = icu::TimeZone::detectHostTimeZone();
                             
^
ninja
: build stopped: subcommand failed.



I'm using the system (ubuntu 15.04) libraries and headers and tried using either libicu 55 or libicu 52 from source and package, '-Duse_system_icu=1'  in running  build/gyp_chromium and  build/linux/unbundle/replace_gyp_files.py. I also tried  
build/linux/unbundle/remove_bundled_libraries.py 'base/third_party/icu' --do-remove

Changing detectHostTimeZone to createDefault  let me build the target but a part of the comment in the timezone.h seem to show that something may not go right in the future. That part is in Bold.

    /**
     * Creates an instance of TimeZone detected from the current host
     * system configuration. Note that ICU4C does not change the default
     * time zone unless TimeZone::adoptDefault(TimeZone*) or
     * TimeZone::setDefault(const TimeZone&) is explicitly called by a
     * user.
This method does not update the current ICU's default,
     * and may return a different TimeZone from the one returned by
     * TimeZone::createDefault()
.
     *
     * @return  A new instance of TimeZone detected from the current host system
     *          configuration.
     * @draft ICU 55
     */

   
static TimeZone* U_EXPORT2 detectHostTimeZone();

Could anyone help me on this?

Thiago Farina

unread,
May 29, 2015, 10:12:53 AM5/29/15
to enrique...@gmail.com, Chromium-dev
Which target have you tried to build? Shared or static build? What are your settings?

--
Thiago Farina

Mark Enriquez

unread,
May 29, 2015, 11:41:38 PM5/29/15
to chromi...@chromium.org
I've tried to building it in 64-bit, shared build. I used mostly the libraries provided by the distribution (ubuntu 15.04) aside from libvpx and icu. In running build/gyp_chromium  I passed these  arguments :
--depth=. -Drelease_extra_cflags="-fwhole-program -g0 -fno-asynchronous-unwind-tables -march=native -ffunction-sections -Wl,--gc-sections,-O1,--relax  " -Drelease_extra_ldflags="-Wl,--gc-sections,-O1,--relax " -Drelease_extra_cxxflags=" -fwhole-program -g0  -fno-asynchronous-unwind-tables -march=native -ffunction-sections -Wl,--gc-sections,-O1,--relax "  "-Dclang=0" '-Ddisable_glibc=1'    '-Ddisable_fatal_linker_warnings=1'    '-Denable_sql_database=0'    "-Denable_hidpi=1"    '-Denable_touch_ui=1'    '-Denable_webrtc=1' '-Duse_lto_o2=1'  '-Duse_lto=1' '-Denable_widevine=1'    '-Dffmpeg_branding=Chrome'      '-Dicu_use_data_file_flag=0'    '-Dlibspeechd_h_prefix=speech-dispatcher/'    "-Dlinux_link_gsettings=1"    '-Dlinux_link_libpci=1'    '-Dlinux_link_libspeechd=1'    '-Dlinux_strip_binary=1'    '-Dlinux_use_bundled_binutils=0'    '-Dlinux_use_bundled_gold=0'    '-Dlinux_use_gold_flags=0'    '-Dno_strict_aliasing=1'    '-Dproprietary_codecs=1'    '-Dremove_webcore_debug_symbols=1'    "-Dtarget_arch=x64"    '-Dusb_ids_path=/usr/share/hwdata/usb.ids'    "-Duse_gconf=1"    "-Duse_gio=1"    "-Duse_gnome_keyring=0"    "-Duse_pulseaudio=1"    '-Dwerror='  '-Dlinux_sandbox_chrome_path=/usr/lib/chromium-browser'  "-Dlinux_link_gnome_keyring=0"    '-Ddisable_nacl=0'    '-Ddisable_pnacl=0'    '-Doptimize=max'    '-Dcomponent=shared_library' '-Dlibrary=shared_library'    '-Dflapper_version_h_file=/home/mark/chromium-44.0.2403.4/flapper_version.h' '-Duse_system_expat=1'    '-Duse_system_ffmpeg=0'    '-Duse_system_flac=1'    '-Duse_system_fontconfig=1'    '-Duse_system_harfbuzz=1'    '-Duse_system_icu=1'    '-Duse_system_jsoncpp=1'    '-Duse_system_libevent=0'    '-Duse_system_libexif=1'    '-Duse_system_libjpeg=1'    '-Duse_system_libpng=1'    '-Duse_system_libusb=0'    '-Duse_system_libvpx=1'    '-Duse_system_libwebp=1'    '-Duse_system_libxml=1'    '-Duse_system_libxnvctrl=0'    '-Duse_system_libxslt=1'    '-Duse_system_minizip=1'    '-Duse_system_nspr=1'    '-Duse_system_openssl=0'    '-Duse_system_opus=0'    '-Duse_system_protobuf=0'    '-Duse_system_re2=1'    '-Duse_system_snappy=1'    '-Duse_system_speex=1'    '-Duse_system_sqlite=0'    '-Duse_system_ssl=0'    '-Duse_system_v8=0'    '-Duse_system_yasm=1'    '-Duse_system_xdg_utils=1'    '-Duse_system_zlib=1'  '-Duse_system_vpx=1'  '-Duse_system_valgrind=1'

Nico Weber

unread,
May 29, 2015, 11:44:04 PM5/29/15
to enrique...@gmail.com, Chromium-dev
Try not setting any gyp defines and see if that works first.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Mark Enriquez

unread,
May 30, 2015, 1:23:47 AM5/30/15
to chromi...@chromium.org, enrique...@gmail.com
The build takes a very long time on this machine but it seems it will build successfully as the obj/content/browser/content.time_zone_monitor.o will not be compiled.
ninja -C out/Release  obj/content/browser/content.time_zone_monitor.o  
ninja
: Entering directory `out/Release'
ninja: error: unknown target 'obj/content/browser/content.time_zone_monitor.o'

Nico Weber

unread,
May 30, 2015, 2:22:56 AM5/30/15
to enrique...@gmail.com, Chromium-dev
Then I suppose the gyp define combination you're using isn't supported.
Reply all
Reply to author
Forward
0 new messages