linux 搭建和编译 chromium 环境

本篇为 linux下搭建编译chromium的方法
windows篇:windows下搭建编译chromium的开发环境_二七-CSDN博客
mac篇:mac下搭建编译chromium的开发环境_二七-CSDN博客

系统环境:Ubuntu x64 14.04 (ubuntu-14.04.5-desktop-amd64.iso)
参考文档:https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
虚拟机环境:Vmware 14
*注:搭建chromium开发环境,使用普通账号(非root),如果普通用户遇到权限问题,使用sudo提权


第一步,安装iso.
   系统下载路径:
   https://yunpan.360.cn/surl_ymvmTipx8Pf (提取码:07bb)
   
   首次安装乌班图系统后登陆root,需要输入命令:
   命令:sudo passwd 
   设置密码。
   命令框启动方法: CTRL+ALT+T
   
第二步,配置python2.7.6
   配置zlib:
   // *注:安装zlib,是保证执行ninja时,避免遇到Python丢失zlib的问题,错误如下:ImportError: No module named zlib
   
   zlib版本:
   zlib-1.2.11.tar.gz
   
   下载路径:
   http://www.zlib.net/
   or https://yunpan.360.cn/surl_ymvV5f4m7HL (提取码:049d)
   
   命令:
   tar -xzvf zlib-1.2.7.tar.gz 
   cd zlib-1.2.7
   ./configure 
   make 
   sudo make install
  
   下载python2.7.6:
   命令:wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
   
   解压python2.7.6:
   命令:xz -d Python-2.7.6.tar.xz
   命令:tar xvf Python-2.7.6.tar
   
   生成makefile编译文件:
   命令:cd Python-2.7.6
        
   configure命令:
   ./configure --with-zlib
        
   编译:
   命令:make
   
   安装:
   命令 make install
   
第三步,配置git
   下载安装git
   命令:sudo apt-get install git
   此处可能会报错:
      Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
      Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
      执行:
      sudo rm /var/lib/apt/lists/lock
      或者
      sudo rm /var/cache/apt/archives/lock
      sudo rm /var/lib/dpkg/lock
      重启,再次执行安装git即可。
      git version: 1.9.1
      
   配置git相关信息
   git config --global user.name "test"
   git config --global user.email test@email.cn
   git config --list // 可查看
   
第四步,Install depot_tools
   下载depot_tools
   git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
   
   配置环境变量:
   把depot_tools 拷贝至 /path/to/depot_tools
   打开 ~/.bashrc // .bashrc文件再root下
   最后添加:export PATH="$PATH:/path/to/depot_tools"
   可以使用 gedit xxx来打开文件
   
   设置代理:
   export http_proxy=192.168.x.x:10808
   export https_proxy=192.168.x.x:10808
   
   git config --global http.proxy http://127.0.0.1:8080
   git config --global https.proxy https://127.0.0.1:8080
   git config --global http.sslverify false

   
第五步,下载代码
   下载代码: 
   fetch --nohooks chromium
   
   Run hooks
   // 如果下载异常,可以从其他地方拷贝代码
   执行 gclient runhooks
   注:gclient runhooks由于代理问题,会反复出现下载失败问题,此处如果是下载失败类问题,则继续执行 gclient runhooks即可
   
   注:checkout 到 release tag,再次 sync 的时候,需要附加 --with_branch_heads 参数。否则可能会遇到以下错误:

   src/third_party/webrtc (ERROR)
   ----------------------------------------
   [0:00:13] Started.
   [0:00:25] _____ src/third_party/webrtc : Attempting rebase onto 4ab51cb6d7d4530b344e63ed8274d1454b7a5f39...
   [0:00:26]
   [0:00:26] Rebase produced error output:
   fatal: Needed a single revision
   Does not point to a valid commit: 4ab51cb6d7d4530b344e63ed8274d1454b7a5f39
   
   此处可能遇到问题:
      CIPD selfupdate failed. Trying to bootstrap the CIPD client from scratch...
      处理方法:export DEPOT_TOOLS_UPDATE=0

  此处可能遇到问题
      error:1408F10B:SSL routines:ssl3_get_record:wrong version number
      Error: Command 'cipd ensure -log-level error -root /home/tyler/work/360browser -ensure-file                              /tmp/tmpABHCaJ.ensure' returned non-zero exit status 35
      处理方法:执行gclient runhooks
   
   此处可能遇到问题:
      gn.py: Could not find gn executable at: /media/data/Projects/OpenSource/chromium/src/buildtools/linux64/gn
      处理方法:执行gclient runhooks,如果不行,拷贝自己浏览器仓库的buildtools到此处
   
   此处可能遇到的问题:
      No module named gyp
      处理方法:git clone https://chromium.googlesource.com/external/gyp
               cd gyp
           sudo ./setup.py install
   
   此处可能遇到的问题:
      You have PROXYvalues set in your environment, but gsutil in depot_tools does not (yet) obeythem.
      处理方法:新建文件 proxy_webrtc.boto
              内容:
           [Boto] 
              proxy = example-host 
           proxy_port = port number 
          执行:
           export NO_AUTH_BOTO_CONFIG=/path/to/proxy_webrtc.boto 
   
   此处可能遇到的问题:
      Running hooks: 12% ( 8/64) binutils
      手动拼接下载后,拷贝到该目录
      eg:https://storage.googleapis.com/chromium-binutils/0cb5726d9701f8be6a81b199899de1de552922f2
      
   配置依赖库
   // 注:本步骤Ubuntu系统必须执行,出现任何失败情况,请解决失败原因后,继续执行,直到成功后继续执行下一步
   // --no-chromeos-fonts 由于远程下载依赖包并安装时会出现找不到chrome os字体,导致报错,预先添加该参数
   命令:
   sudo build/install-build-deps.sh --no-chromeos-fonts
   此处可能遇到弹框:
      Configuring ttf-mscorefonts-installer为标题的安装微软字体的确认框
      你需要做的通过鼠标点击对话框的任何一个地方确保终端是焦点,接下来按<Tab> 键选中”<OK>”按钮,回车。
      接下来又给你呈现出一个新的窗口,选择“<YES>” 再按回车。
   此处可能会报错:
      E: Unable to locate package lib32ncurses5-dev
      E: Unable to locate package lib32z1-dev
      检查ubuntu版本,ubuntu-14.04.5-desktop-amd64.iso
   
   同步代码:(北京时间晚上6点50下载,遇到过惊喜,speed 5M/s)
   // gclient sync
   // 由于其他原因,不同步谷歌代码,采用其他代码
   此处可能遇到的错误:
      Unknown SSL protocol error in connection to chrome-infra-packages.appspot.com:443 
      重新设置代理
   此处可能遇到的错误:
      Running depot tools as root is sad.
      需要使用普通用户进行操作。如果用普通用又没有权限的话,可以把路径的所有者从root改为普通用户
      sudo chown your_user_name: your_folder_name -R
   // gclient sync 执行成功后,放可执行后续操作
   
   执行gn生成ninja文件:
   // 根据需求选择下列参数进行编译
   // gn gen out/debug
   gn gen out/release --args='is_debug=false is_official_build=true symbol_level=2 enable_nacl=false enable_linux_installer=true use_jumbo_build=true'
   gn gen out/debug --args='enable_nacl=false remove_webcore_debug_symbols=true use_jumbo_build=true'
   // enable_linux_installer=true 按需删加
   
   编译
   ninja -k 100 -C out/debug chrome
   此处可能遇到的错误:
      编译error,由于代码中使用windows的函数,修正后继续编译即可。
     
第六步,大功告成-20181026
   

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值