下载Chromium源码方法及问题记录

下载Chromium源码方法及问题记录
系统:win7 64bit or ubuntu
官方网址:http://www.chromium.org/developers/how-tos/build-instructions-windows
 
1、下载depot_tools:

  a) windows
        地址:https://src.chromium.org/svn/trunk/tools/depot_tools.zip

  b) ubuntu

    首先安装git-core:sudo apt-get install git-core

    执行命令:git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git


2、更新depot_tools环境变量

  a) windows

    解压depot_tools.zip, 将depot_tools的路径(如d:\depot_tools)加入PATH环境变量。

    b) ubuntu

    vim ~/.bashrc文件,在最后一行加入:export PATH="$PATH:your_depot_tools_dir/depot_tools",

    然后保存并运行命令:source ~/.bashrc


3、配置源码分支版本

  cd进入自定义的源码目录,执行gclient config http://src.chromium.org/svn/releases/31.0.1620.2
  31.0.1620.2 为版本号,可根据需要下载相应版本,chromium各版本:http://src.chromium.org/viewvc/chrome/releases/
  如果不需要check out LayoutTest测试文件,可以打开以版本名称命名(如31.0.1620.2)的目录下的DEPS文件,找到下面这行并修改为:
  "src/third_party/WebKit/LayoutTests": None, 

4、 第一次执行gclient时会自动安装git、python等,等待其安装完毕。
  中间可能会出现连接错误,如:Failed connect to chromium.googlesource.com:443
  可考虑如下做法:
  a)将以下内容复制到C:\Windows\System32\drivers\etc\hosts文件中

    74.125.31.82  www.googlesource.com
    74.125.31.82  android.googlesource.com
    203.208.46.172  cache.pack.google.com
    59.24.3.173  cache.pack.google.com

  b)在.gclient文件中的"custom_deps" 节点下加入:

    "custom_deps" : {"https://chromium.googlesource.com/chromium/tools":None},  


5、执行gclient sync --force,则开始同步代码。
  如若下载过程中出现问题,重新执行此命令。
  若在下载源码过程中出现下载toolchain_win_x86.tar.bz2等文件失败时,可以考虑如下做法:

  a) 用浏览器将这些文件下载到本地(可能url会被墙,需要结合goagent与chrome,具体配置goagent的方法见《Linux下配置Goagent》)

  b) 在本地搭建tomcat服务器,搭建一个可供本地连接并下载的web服务器。

  c) 分别为每个文件配置目录,最终url的形式如:http://127.0.0.1/x86_toolchain/r12034/toolchain_win_x86.tar.bz2

  d) 修改D:\chromium-src\src\native_client\build\toolchainbinaries.py文件:BASE_DOWNLOAD_URL = ('http://127.0.0.1:8080')

   然后重新执行gclient sync --force即可。

 

问题记录:

1.  如果在下载源码过程中,遇到jsoncpp相关的错误,如:Error: Command svn update /home/nightelf/chromium/chromium_28/src/third_party/jsoncpp/source/include。

   是由于jsoncpp更改了它的 soure location,所以你需要修改以版本为名称(如31.0.1620.2)的目录下的 DEPS 文件,更新jsoncpp的地址。

   修改DESP文件中的'jsoncpp':

   'http://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp',

   将其修改为:'https://svn.code.sf.net/p/jsoncpp/code',再重新gclient sync --force即可。

 

你可能感兴趣的:(C++)