首页 > Google开源, 浏览器 > Ubuntu下编译谷歌浏览器

Ubuntu下编译谷歌浏览器

2014年3月16日 发表评论 阅读评论 15,540 次浏览

一,下载chromium源代码:
1,下载(参考这里http://src.chromium.org/svn/trunk/tools/depot_tools.zip
解压后,将对应路径加入到PATH环境变量:

lenky@lenky-PC:~$ tail -n 1 .bashrc 
export PATH=/home/lenky/sda8/chromium/depot_tools:$PATH

新建chromium文件夹,并执行chromium源代码下载命令:

lenky@lenky-PC:~/sda8$ mkdir chromium
lenky@lenky-PC:~/sda8$ cd chromium/
lenky@lenky-PC:~/sda8/chromium$ gclient config http://src.chromium.org/svn/trunk/src 

gclient config用于配置需要下载的源代码版本(上面的命令就是下载最新的代码),还可以下载指定的版本:
gclient config http://src.chromium.org/svn/releases/34.0.1847.74
gclient config http://src.chromium.org/svn/releases/34.0.1847.74 –git-deps
有哪些版本可以用浏览器打开http://src.chromium.org/svn/releases/查看,修改上面命令里链接的相应数字即可。

gclient config命令执行完后,就会在当前目录下生成一个隐藏文件:

lenky@lenky-PC:~/sda8/chromium$ ls -a
.  ..  .gclient

lenky@lenky-PC:~/sda8/chromium$ cat .gclient 
solutions = [
  { "name"        : "src",
    "url"         : "http://src.chromium.org/svn/trunk/src",
    "deps_file"   : "DEPS",
    "managed"     : True,
    "custom_deps" : {
    },
    "safesync_url": "",
  },
]
cache_dir = None

可以修改custom_dep,以便不下载那些测试文件,节省源码下载时间:
“custom_deps” : {
“src/webkit/data/layout_tests/LayoutTests”: None,
},

执行命令进行同步,也就是源码下载:
gclient sync –force

这个下载过程等待时间会很长,如果网络不好估计还会断,建议用个shell循环,以便网络断开导致下载失败后能再次自动进行sync(未验证,囧,另外需自己注意是否已经sync完毕):

while :; do gclient sync --force; sleep 600; done

然后就是等啊等~~~

二,编译chromium源代码:

http://code.google.com/p/chromium/wiki/LinuxBuildInstructions

首先安装依赖:

lenky@lenky-PC:~/sda8/chromium/src$ sudo ./build/install-build-deps.sh 

可能还需要安装API keys(我没装,所以最终编译的chromium执行起来有对应的提示):

https://sites.google.com/a/chromium.org/dev/developers/how-tos/api-keys

执行命令进行编译:

lenky@lenky-PC:~/sda8/chromium/src$ ./build/gyp_chromium -Dwerror=
lenky@lenky-PC:~/sda8/chromium/src$ ninja -C out/Debug chrome

这是以Debug模式编译的,所以时间也特别的长,等啊等~~~

在最后一步Link的时候出错:

lenky@lenky-PC:~/sda8/chromium/src$ ninja -C out/Debug chrome
ninja: Entering directory `out/Debug'
[1/1] LINK chrome
FAILED: c++ -Wl,--fatal-warnings -Wl,-z,now -Wl,-z,relro -pthread -Wl,-z,noexecstack -fPIC -B/home/lenky/sda8/chromium/src/third_party/gold -pie -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -Wl,--icf=none -Wl,--gdb-index -Wl,-rpath=\$ORIGIN/lib/ -Wl,-rpath-link=lib/ -o chrome -Wl,--start-group obj/chrome/app/chrome_initial.chrome_exe_main_aura.o obj/content/public/common/chrome_initial.content_switches.o obj/chrome/app/chrome_initial.chrome_main.o obj/chrome/app/chrome_initial.chrome_main_delegate.o obj/base/allocator/liballocator.a obj/chrome/libcommon.a obj/ppapi/libppapi_host.a obj/printing/libprinting.a obj/chrome/libservice.a obj/chrome/libdebugger.a obj/chrome/libplugin.a obj/chrome/librenderer.a obj/chrome/libutility.a obj/content/libcontent_gpu.a obj/content/libcontent_ppapi_plugin.a obj/content/libcontent_worker.a obj/content/libcontent_app_both.a obj/chrome/libinstaller_util.a obj/components/libstartup_metric_utils.a obj/base/third_party/dynamic_annotations/libdynamic_annotations.a obj/chrome/libcommon_net.a obj/base/libbase.a obj/base/libbase_static.a obj/base/allocator/liballocator_extension_thunks.a obj/third_party/modp_b64/libmodp_b64.a obj/base/libsymbolize.a obj/base/libxdg_mime.a obj/third_party/libevent/libevent.a obj/crypto/libcrcrypto.a obj/net/third_party/nss/libcrssl.a obj/net/libnet.a obj/base/libbase_i18n.a obj/third_party/icu/libicui18n.a obj/third_party/icu/libicuuc.a obj/third_party/icu/libicudata.a obj/sdch/libsdch.a obj/third_party/zlib/libchrome_zlib.a obj/url/liburl_lib.a obj/build/linux/libgio.a obj/gpu/libgpu_ipc.a obj/gpu/libcommand_buffer_common.a obj/gpu/command_buffer/libgles2_utils.a obj/ipc/libipc.a obj/chrome/libmetrics_proto.a obj/third_party/protobuf/libprotobuf_lite.a obj/base/libbase_prefs.a obj/chrome/libcommon_constants.a obj/components/libnacl_switches.a obj/components/libjson_schema.a obj/components/libmetrics.a obj/components/libpolicy_component_common.a obj/google_apis/libgoogle_apis.a obj/third_party/libxml/libxml2.a obj/components/libcloud_policy_proto.a obj/components/libpolicy.a obj/components/libcloud_policy_proto_generated_compile.a obj/components/libtranslate_core_common.a obj/components/libvariations.a obj/third_party/mt19937ar/libmt19937ar.a obj/content/libcontent_common.a obj/components/libtracing.a obj/skia/libskia_library.a obj/skia/libskia_opts.a obj/skia/libskia_opts_ssse3.a obj/third_party/sfntly/libsfntly.a obj/skia/libskia_chrome.a obj/skia/libskia_chrome_opts.a obj/third_party/libjingle/libjingle.a obj/third_party/libjingle/libjingle_p2p_constants.a obj/ui/accessibility/libaccessibility.a obj/ui/gfx/libgfx.a obj/third_party/libpng/libpng.a obj/ui/gfx/libgfx_geometry.a obj/third_party/libjpeg_turbo/libjpeg_turbo.a obj/ui/accessibility/libax_gen.a obj/tools/json_schema_compiler/libapi_gen_util.a obj/ui/base/libui_base.a obj/ui/events/libevents_base.a obj/ui/events/libdom4_keycode_converter.a obj/ui/events/libevents.a obj/ui/shell_dialogs/libshell_dialogs.a obj/ui/aura/libaura.a obj/gpu/libcommand_buffer_client.a obj/gpu/libcommand_buffer_service.a obj/gpu/libdisk_cache_proto.a obj/third_party/re2/libre2.a obj/third_party/smhasher/libcityhash.a obj/ui/gl/libgl_wrapper.a obj/third_party/angle/src/libtranslator.a obj/third_party/angle/src/libpreprocessor.a obj/gpu/libgles2_cmd_helper.a obj/gpu/libgpu_config.a obj/build/linux/libpci.a obj/third_party/libXNVCtrl/libXNVCtrl.a obj/ui/compositor/libcompositor.a obj/cc/libcc.a obj/media/libmedia.a obj/third_party/opus/libopus.a obj/media/libshared_memory_support.a obj/media/libshared_memory_support_sse.a obj/third_party/ffmpeg/libffmpeg.a obj/third_party/libvpx/libvpx.a obj/third_party/libvpx/libvpx_asm_offsets_vp8.a obj/third_party/libvpx/libvpx_intrinsics_mmx.a obj/third_party/libvpx/libvpx_intrinsics_sse2.a obj/third_party/libvpx/libvpx_intrinsics_ssse3.a obj/media/libmedia_asm.a obj/media/libmedia_mmx.a obj/media/libmedia_sse.a obj/media/libmedia_sse2.a obj/gpu/libgles2_c_lib.a obj/gpu/libgles2_implementation.a obj/gpu/skia_bindings/libgpu_skia_bindings.a obj/third_party/WebKit/Source/platform/libblink_platform.a obj/third_party/WebKit/Source/wtf/libwtf.a obj/third_party/WebKit/Source/platform/libblink_common.a obj/third_party/libwebp/libwebp_dec.a obj/third_party/libwebp/libwebp_dsp.a obj/third_party/libwebp/libwebp_utils.a obj/third_party/libwebp/libwebp_demux.a obj/third_party/libwebp/libwebp_enc.a obj/third_party/ots/libots.a obj/third_party/brotli/libbrotli.a obj/third_party/qcms/libqcms.a obj/v8/tools/gyp/libv8_base.x64.a obj/v8/tools/gyp/libv8_snapshot.a obj/third_party/iccjpeg/libiccjpeg.a obj/third_party/harfbuzz-ng/libharfbuzz-ng.a obj/third_party/WebKit/Source/web/libblink_web.a obj/third_party/WebKit/Source/core/libwebcore_dom.a obj/third_party/WebKit/Source/heap/libblink_heap.a obj/third_party/WebKit/Source/heap/libblink_heap_asm_stubs.a obj/third_party/libxslt/libxslt.a obj/third_party/sqlite/libsqlite3.a obj/third_party/WebKit/Source/core/libwebcore_html.a obj/third_party/WebKit/Source/core/libwebcore_remaining.a obj/third_party/WebKit/Source/core/libwebcore_rendering.a obj/third_party/WebKit/Source/core/libwebcore_svg.a obj/third_party/WebKit/Source/core/libwebcore_generated.a obj/gin/libgin.a obj/third_party/WebKit/Source/modules/libmodules.a obj/webkit/common/gpu/libwebkit_gpu.a obj/webkit/common/libwebkit_common.a obj/webkit/libwebkit_storage_browser.a obj/sql/libsql.a obj/third_party/leveldatabase/libleveldatabase.a obj/third_party/snappy/libsnappy.a obj/webkit/libwebkit_storage_common.a obj/mojo/libmojo_environment_chromium.a obj/mojo/libmojo_environment_chromium_impl.a obj/mojo/libmojo_common_lib.a obj/mojo/libmojo_system_impl.a obj/ppapi/libppapi_shared.a obj/ui/surface/libsurface.a obj/third_party/zlib/google/libzip.a obj/third_party/zlib/libminizip.a obj/device/bluetooth/libdevice_bluetooth.a obj/device/usb/libdevice_usb.a obj/chrome/common/extensions/api/libchrome_api.a obj/content/libcontent_browser.a obj/ui/events/libgesture_detection.a obj/ui/snapshot/libsnapshot.a obj/content/browser/speech/proto/libspeech_proto.a obj/net/libhttp_server.a obj/sandbox/libsandbox_services.a obj/sandbox/libsuid_sandbox_client.a obj/sandbox/libseccomp_bpf.a obj/sandbox/libseccomp_bpf_helpers.a libyuv.a obj/jingle/libjingle_glue.a obj/third_party/webrtc/modules/libdesktop_capture.a obj/third_party/webrtc/system_wrappers/source/libsystem_wrappers.a obj/third_party/webrtc/modules/libdesktop_capture_differ_sse2.a obj/sandbox/libc_urandom_override.a obj/ppapi/libppapi_ipc.a obj/third_party/flac/libflac.a obj/third_party/speex/libspeex.a obj/dbus/libdbus.a obj/sync/libsync_api.a obj/sync/libsync_internal_api.a obj/sync/libsync_core.a obj/sync/libsync_notifier.a obj/jingle/libnotifier.a obj/third_party/cacheinvalidation/libcacheinvalidation.a obj/third_party/cacheinvalidation/libcacheinvalidation_proto_cpp.a obj/sync/libsync_proto.a obj/components/libautofill_core_common.a obj/components/libautofill_content_common.a obj/components/libpassword_manager_core_common.a obj/components/libnacl_common.a obj/components/libvisitedlink_common.a obj/extensions/libextensions_common.a obj/extensions/common/api/libextensions_api.a obj/components/liburl_matcher.a obj/remoting/libremoting_client_plugin.a obj/ppapi/libppapi_cpp_objects.a obj/remoting/libremoting_base.a obj/remoting/proto/libchromotocol_proto_lib.a obj/remoting/libremoting_client.a obj/remoting/libremoting_protocol.a obj/third_party/libwebm/libwebm.a obj/chrome/libbrowser_real.a obj/chrome/browser/search_engines/libprepopulated_engines.a obj/chrome/libbrowser_ui.a obj/chrome/libcert_logger_proto.a obj/chrome/libbrowser_ui_views.a obj/chrome/libin_memory_url_index_cache_proto.a obj/chrome/libsafe_browsing_proto.a obj/chrome/libsafe_browsing_report_proto.a obj/chrome/libfeedback_proto.a obj/components/libauto_login_parser.a obj/components/libdom_distiller_core.a obj/components/libdistilled_page_proto.a obj/components/libdom_distiller_webui.a obj/components/libonc_component.a obj/components/libpassword_manager_core_browser.a obj/components/libencryptor.a obj/third_party/libusb/libusb.a obj/ui/message_center/libmessage_center.a obj/ui/views/libviews.a obj/ui/native_theme/libnative_theme.a obj/ui/wm/libwm_core.a obj/chrome/libbrowser_extensions.a obj/chrome/libcast_channel_proto.a obj/chrome/libsync_file_system_proto.a obj/components/libwifi_component.a obj/device/hid/libdevice_hid.a obj/device/serial/libdevice_serial.a obj/extensions/libextensions_browser.a obj/ui/keyboard/libkeyboard.a obj/chrome/browser/performance_monitor/libperformance_monitor.a obj/components/libautofill_content_risk_proto.a obj/device/nfc/libdevice_nfc.a obj/net/libnet_with_v8.a obj/third_party/hunspell/libhunspell.a obj/ui/web_dialogs/libweb_dialogs.a obj/native_client/src/trusted/service_runtime/libsel.a obj/native_client/src/trusted/service_runtime/libenv_cleanser.a obj/native_client/src/trusted/service_runtime/libnacl_error_code.a obj/native_client/src/shared/gio/libgio.a obj/native_client/src/shared/platform/libplatform.a obj/native_client/src/shared/srpc/libnonnacl_srpc.a obj/native_client/src/trusted/debug_stub/libdebug_stub.a obj/native_client/src/trusted/desc/libnrd_xfer.a obj/native_client/src/trusted/desc/libdesc_wrapper.a obj/native_client/src/shared/imc/libimc.a obj/native_client/src/trusted/nacl_base/libnacl_base.a obj/native_client/src/trusted/desc_cacheability/libdesc_cacheability.a obj/native_client/src/trusted/fault_injection/libnacl_fault_inject.a obj/native_client/src/trusted/gio/libgio_wrapped_desc.a obj/native_client/src/trusted/interval_multiset/libnacl_interval.a obj/native_client/src/trusted/perf_counter/libnacl_perf_counter.a obj/native_client/src/trusted/platform_qualify/libplatform_qual_lib.a obj/native_client/src/trusted/cpu_features/libcpu_features.a obj/native_client/src/trusted/manifest_name_service_proxy/libmanifest_proxy.a obj/native_client/src/trusted/threading/libthread_interface.a obj/native_client/src/trusted/simple_service/libsimple_service.a obj/native_client/src/trusted/validator/libvalidation_cache.a obj/native_client/src/trusted/validator/libvalidators.a obj/native_client/src/trusted/service_runtime/arch/x86/libservice_runtime_x86_common.a obj/native_client/src/trusted/validator_ragel/libdfa_validate_x86_64.a obj/native_client/src/trusted/service_runtime/arch/x86_64/libservice_runtime_x86_64.a obj/native_client/src/trusted/validator_x86/libnccopy_x86_64.a obj/native_client/src/trusted/service_runtime/libnacl_signal.a obj/chrome/browser/ui/libgtk2ui/libgtk2ui.a obj/ui/views/controls/webview/libwebview.a obj/ui/app_list/libapp_list.a obj/third_party/libaddressinput/libaddressinput.a obj/chrome/libprobe_message_proto.a obj/chrome/libsuggestions_proto.a obj/components/libautofill_core_browser.a obj/third_party/libphonenumber/libphonenumber.a obj/third_party/libphonenumber/libphonenumber_without_metadata.a obj/components/libuser_prefs.a obj/components/libwebdata_common.a obj/components/libcloud_devices.a obj/components/libnavigation_metrics.a obj/components/libpolicy_component_browser.a obj/components/libprecache_core.a obj/components/libprecache_core_proto.a obj/components/librappor.a obj/components/libsignin_core.a obj/components/libsync_driver.a obj/components/libtranslate_core_browser.a obj/components/liblanguage_usage_metrics.a obj/google_apis/gcm/libgcm.a obj/media/cast/logging/libcast_common_logging.a obj/media/cast/logging/libcast_logging_proto_lib.a obj/chrome/libapps.a obj/chrome/libsync_file_system_drive_proto.a obj/components/libautofill_content_browser.a obj/components/libdom_distiller_content.a obj/components/libkeyed_service_content.a obj/components/libkeyed_service_core.a obj/components/libnavigation_interception.a obj/components/libpassword_manager_content_browser.a obj/components/libprecache_content.a obj/components/libsessions.a obj/components/libstorage_monitor.a obj/device/media_transfer_protocol/libdevice_media_transfer_protocol.a obj/device/media_transfer_protocol/libmtp_file_entry_proto.a obj/device/media_transfer_protocol/libmtp_storage_info_proto.a obj/components/libtranslate_content_browser.a obj/components/libvisitedlink_browser.a obj/components/libweb_modal.a obj/media/cast/transport/libcast_transport.a obj/media/cast/transport/utility/libtransport_utility.a obj/testing/perf/libperf_test.a obj/components/libnacl_browser.a obj/chrome/libpolicy_path_parser.a obj/build/linux/libspeechd.a obj/components/libbreakpad_component.a obj/breakpad/libbreakpad_client.a obj/components/libbreakpad_host.a obj/ppapi/libppapi_proxy.a obj/content/libcontent_plugin.a obj/content/libcontent_child.a obj/webkit/child/libwebkit_child.a obj/components/libautofill_content_renderer.a obj/content/libcontent_renderer.a obj/webkit/renderer/compositor_bindings/libwebkit_compositor_bindings.a obj/webkit/renderer/compositor_bindings/libwebkit_compositor_support.a obj/mojo/libmojo_js_bindings_lib.a obj/third_party/libjingle/libjingle_webrtc.a obj/third_party/libjingle/libjingle_webrtc_common.a obj/third_party/libsrtp/libsrtp.a obj/third_party/webrtc/modules/libmedia_file.a obj/third_party/webrtc/modules/libvideo_capture_module.a obj/third_party/webrtc/modules/libwebrtc_utility.a obj/third_party/webrtc/modules/libaudio_coding_module.a obj/third_party/webrtc/modules/libCNG.a obj/third_party/webrtc/common_audio/libcommon_audio.a obj/third_party/webrtc/common_audio/libcommon_audio_sse2.a obj/third_party/webrtc/modules/libG711.a obj/third_party/webrtc/modules/libG722.a obj/third_party/webrtc/modules/libiLBC.a obj/third_party/webrtc/modules/libiSAC.a obj/third_party/webrtc/modules/libiSACFix.a obj/third_party/webrtc/modules/libPCM16B.a obj/third_party/webrtc/modules/libNetEq.a obj/third_party/webrtc/modules/libwebrtc_opus.a obj/third_party/webrtc/modules/libacm2.a obj/third_party/webrtc/modules/libNetEq4.a obj/third_party/webrtc/modules/libwebrtc_video_coding.a obj/third_party/webrtc/modules/libwebrtc_i420.a obj/third_party/webrtc/common_video/libcommon_video.a obj/third_party/webrtc/modules/video_coding/utility/libvideo_coding_utility.a obj/third_party/webrtc/modules/video_coding/codecs/vp8/libwebrtc_vp8.a obj/third_party/webrtc/modules/libvideo_render_module.a obj/third_party/usrsctp/libusrsctplib.a obj/third_party/libjingle/libpeerconnection.a obj/third_party/webrtc/video_engine/libvideo_engine_core.a obj/third_party/webrtc/modules/librtp_rtcp.a obj/third_party/webrtc/modules/libpaced_sender.a obj/third_party/webrtc/modules/libremote_bitrate_estimator.a obj/third_party/webrtc/modules/remote_bitrate_estimator/librbe_components.a obj/third_party/webrtc/modules/libbitrate_controller.a obj/third_party/webrtc/modules/libvideo_processing.a obj/third_party/webrtc/modules/libvideo_processing_sse2.a obj/third_party/webrtc/voice_engine/libvoice_engine.a obj/third_party/webrtc/modules/libaudio_conference_mixer.a obj/third_party/webrtc/modules/libaudio_processing.a obj/third_party/webrtc/modules/libaudioproc_debug_proto.a obj/third_party/webrtc/modules/libaudio_processing_sse2.a obj/third_party/webrtc/modules/libaudio_device.a obj/components/libplugins_renderer.a obj/components/libtranslate_language_detection.a obj/third_party/cld_2/libcld_2.a obj/components/libvisitedlink_renderer.a obj/media/cast/libcast_config.a obj/media/cast/libcast_sender.a obj/media/cast/libaudio_sender.a obj/media/cast/rtcp/libcast_rtcp.a obj/media/cast/libcongestion_control.a obj/media/cast/libvideo_sender.a obj/media/cast/rtcp/libcast_rtcp_test.a obj/testing/libgtest.a obj/media/cast/libcast_vp8_encoder.a obj/media/cast/logging/libsender_logging.a obj/components/libnacl.a obj/components/libnacl_renderer.a obj/third_party/smhasher/libmurmurhash3.a obj/content/libcontent_utility.a lib/libmojo_system.so -Wl,--end-group -lrt -ldl -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lX11 -lXi -lXrandr -lnss3 -lnssutil3 -lsmime3 -lplds4 -lplc4 -lnspr4 -lgconf-2 -lgio-2.0 -lresolv -lfontconfig -lfreetype -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpango-1.0 -lexpat -lXcursor -lXext -lXfixes -lXrender -lXcomposite -lasound -lXdamage -lXtst -lcups -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lgnutls -lgcrypt -lz -lpthread -lm -lcrypt -L/lib/x86_64-linux-gnu -lcap -ludev -ldbus-1 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lXss
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_destroy' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_tags_from_script' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-tag.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_set_script' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_language_get_feature_tags' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_v_advance_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_tag_to_script' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-tag.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_get_length' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_set_ppem' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_get_direction' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_h_kerning_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_script_find_language' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_extents_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_set_scale' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_get_glyph_infos' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_reverse' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_add_utf8' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_reset' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_create' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_create' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_table_get_script_tags' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_destroy' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_set_language' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_v_origin_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_get_glyph_positions' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_language_get_required_feature_index' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_language_to_string' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-common.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_set_funcs' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_h_origin_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_tag_from_language' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-tag.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_contour_point_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_font_funcs_set_glyph_h_advance_func' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-font.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_script_get_language_tags' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_table_find_script' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_language_from_string' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-common.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_face_destroy' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-face.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_add' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_layout_language_find_feature' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-layout.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_ot_tag_to_language' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-ot-tag.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_shape' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-shape.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_set_direction' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_set_unicode_funcs' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: warning: hidden symbol 'hb_buffer_create' in obj/third_party/harfbuzz-ng/libharfbuzz-ng.a(obj/third_party/harfbuzz-ng/src/harfbuzz-ng.hb-buffer.o) is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libpangoft2-1.0.so
/home/lenky/sda8/chromium/src/third_party/gold/gold64: error: treating warnings as errors
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
lenky@lenky-PC:~/sda8/chromium/src$ 

经过查阅,发现这是一个刚引入的问题:http://code.google.com/p/chromium/issues/detail?id=353127

Project Member Reported by jochen@chromium.org, Yesterday (36 hours ago)

修复办法就是去掉link选项:’-Wl,–fatal-warnings’,
所以,重新拷贝上面错误信息里爆出的命令:
c++ -Wl,–fatal-warnings -Wl,-z,now -Wl,-z,relro -pthread -Wl,-z,noexecstack -fPIC -B/home/lenky/sda8/chromium/src/third_party…

把前两个参数-Wl,–fatal-warnings去掉后放到shell里执行(请注意当前路径):

lenky@lenky-PC:~/sda8/chromium/src/out/Debug$ c++ -Wl,-z,now -Wl,-z,relro -pthread -Wl,-z,noexecstack -fPIC -B/home/lenky/sda8/chromium...

link时间也很久(因为是Debug模式),最终虽然还是提示警告,但是可执行程序chrome已经生成了:

lenky@lenky-PC:~/sda8/chromium/src/out/Debug$ ls -l
总用量 748056
-rw-rw-r--  1 lenky lenky    165375  3月 18 13:23 build.ninja
-rwxr-xr-x  1 lenky lenky 633682321  3月 19 09:56 chrome
-rw-rw-r--  1 lenky lenky      4817  3月 18 12:11 chrome.1
...

三,执行程序chromium:
执行报错:

lenky@lenky-PC:~/sda8/chromium/src/out/Debug$ ./chrome
[16031:16031:0319/095956:FATAL:browser_main_loop.cc(172)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
 [0x7f69a1d641bb] base::debug::StackTrace::StackTrace()
 [0x7f69a1daf939] logging::LogMessage::~LogMessage()
 [0x7f69a4d3061f] content::(anonymous namespace)::SetupSandbox()
 [0x7f69a4d31d1a] content::BrowserMainLoop::EarlyInitialization()
 [0x7f69a4b75017] content::BrowserMainRunnerImpl::Initialize()
 [0x7f69a4b748ee] content::BrowserMain()
 [0x7f69a1d3f244] content::RunNamedProcessTypeMain()
 [0x7f69a1d402d1] content::ContentMainRunnerImpl::Run()
 [0x7f69a1d3e62e] content::ContentMain()
 [0x7f69a1a2217f] ChromeMain
 [0x7f69a1a22125] main
 [0x7f699a63ede5] __libc_start_main
 [0x7f69a1a22019] <unknown>

已放弃 (核心已转储)
lenky@lenky-PC:~/sda8/chromium/src/out/Debug$ 

根据https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment按如下执行:

lenky@lenky-PC:~/sda8/chromium/src/out/Debug$ cd ../../
lenky@lenky-PC:~/sda8/chromium/src$  build/update-linux-sandbox.sh
Could not find /home/lenky/sda8/chromium/src/build/../out/Debug/chrome_sandbox, please make sure you build the chrome_sandbox target
lenky@lenky-PC:~/sda8/chromium/src$ ninja -C out/Debug chrome_sandbox
ninja: Entering directory `out/Debug'
[4/4] LINK chrome_sandbox
lenky@lenky-PC:~/sda8/chromium/src$ build/update-linux-sandbox.sh
Could not find /usr/local/sbin/chrome-devel-sandbox, installing it now.
(using sudo so you may be asked for your password)
[sudo] password for lenky: 
Your setuid sandbox is up to date
Make sure you have "export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox" somewhere in your .bashrc
This variable is currently: empty
lenky@lenky-PC:~/sda8/chromium/src$ export CHROME_DEVEL_SANDBOX=/usr/local/sbin/chrome-devel-sandbox
lenky@lenky-PC:~/sda8/chromium/src$ ./out/Debug/chrome
[16320:16320:0319/100754:INFO:gpu_info_collector_x11.cc(80)] NVCtrl extension does not exist.
ATTENTION: default value of option force_s3tc_enable overridden by environment.

这样就ok了,截图如下:


最上面的黄色提示:缺少Google API密钥,因此chromium的部分功能将无法使用。
估计就是前面所提到的api-keys未安装的问题:http://www.chromium.org/developers/how-tos/api-keys

转载请保留地址:http://www.lenky.info/archives/2014/03/2392http://lenky.info/?p=2392


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

  1. lenky
    2014年7月21日11:28 | #1

    2014年7月21号补充:
    犭句曰的GFW拦截了Google相关站点,害得我等屌丝苦命的折腾,艹!

    代理下载:
    开启ssh代理:
    ssh -qTfnN -D 7070 username@sshserver.com
    或使用图形界面程序gstm。

    转为http代理:
    安装privoxy:sudo apt-get install privoxy
    修改配置:/etc/privoxy/config
    把里面的:#forward-socks5 / 127.0.0.1:7070
    去掉注释,并把端口号改为对应的ssh代理端口7070。
    重新启动privoxy:sudo /etc/init.d/privoxy restart

    修改svn代理:
    修改用户目录下的配置文件: vi ~/.subversion/servers
    在global节加上http的代理设置:

    [global]
    http-proxy-host = 127.0.0.1
    http-proxy-port = 8118
    

    其中8118是http代理的端口,在privoxy的配置文件里由listen-address设置。

    设置git的代理:
    git config –global http.proxy http://127.0.0.1:8118
    git config –global https.proxy http://127.0.0.1:8118
    git config –global http.sslverify false

    另外:
    custom_deps里的路径在不同的版本里可能发生了变化:
    比如:

    solutions = [
      { "name"        : "38.0.2066.0",
        "url"         : "http://src.chromium.org/svn/releases/38.0.2066.0",
        "deps_file"   : "DEPS",
        "managed"     : True,
        "custom_deps" : {
            "src/third_party/WebKit/LayoutTests": None,
        },
        "safesync_url": "",
      },
    ]
    cache_dir = None
    

    另外一种偷懒的方式是利用ubuntu以及打好包的源码,具体命令就是:
    apt-get source chromium-browser
    sudo apt-get build-dep chromium-browser
    ……
    但是估计有不少裁剪,比如实例等源代码就没有,另外我试了一下,当前只支持ubuntu12.04到ubuntu 13.10。

  1. 2014年7月25日09:29 | #1