在ubuntu(docker)上构建v8

时间:2017-05-27 02:27:23

标签: ubuntu v8

我尝试在ubuntu上构建v8(使用docker因为我在开发环境中没有root权限)。

我尝试按照此处的说明https://github.com/v8mips/v8mips/wiki/Get-the-code

我可以获得depot_tools但是当我运行fetch v8时,我收到以下错误:

Error: Command '/usr/bin/python v8/third_party/binutils/download.py' 
    returned non-zero exit status 1 in /home
Traceback (most recent call last):
  File "/home/depot_tools/fetch.py", line 300, in <module>
    sys.exit(main())
  File "/home/depot_tools/fetch.py", line 295, in main
    return run(options, spec, root)
  File "/home/depot_tools/fetch.py", line 289, in run
    return checkout.init()
  File "/home/depot_tools/fetch.py", line 132, in init
    self.run_gclient(*sync_cmd)
  File "/home/depot_tools/fetch.py", line 76, in run_gclient
    return self.run(cmd_prefix + cmd, **kwargs)
  File "/home/depot_tools/fetch.py", line 66, in run
    return subprocess.check_output(cmd, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 574, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '('gclient', 'sync', '--with_branch_heads')'
    returned non-zero exit status 2

有谁知道可能是什么问题?这是我的Dockerfile

FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y git
RUN apt-get install -y python
WORKDIR /home
RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
ENV PATH /home/depot_tools:"$PATH"

然后我使用docker run -it v8build(泊坞窗图片的名称)运行泊坞窗并运行fetch v8

编辑(添加版本信息):

  • Ubuntu:16.04
  • git:2.7.4
  • python:2.7.12

1 个答案:

答案 0 :(得分:0)

我已经弄清楚问题是什么,这就是答案。希望有人能够从中受益。

事实证明,您可以运行fetch -n v8来查看将要运行的所有命令。命令如下:

fetch -n v8
Running: gclient root
Running: gclient config --spec 'solutions = [
  {
    "url": "https://chromium.googlesource.com/v8/v8.git",
    "managed": False,
    "name": "v8",
    "deps_file": "DEPS",
    "custom_deps": {},
  },
]
'
Running: gclient sync --with_branch_heads
cd /home/x/v8
Running: git submodule foreach 'git config -f $toplevel/.git/config submodule.$name.ignore all'
Running: git config --add remote.origin.fetch '+refs/tags/*:refs/tags/*'
Running: git config diff.ignoreSubmodules all

错误发生在gclient sync --with_branch_heads,如错误输出所述。

我逐个运行命令手动复制进程,以便打印出通过运行fetch v8隐藏的消息。 错误原因是ubuntu:latest泊坞窗图片没有lbzip2

安装解决了这个问题。

更新了Dockerfile

FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y git python lbzip2 && apt-get clean
WORKDIR /home
RUN git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
ENV PATH /home/depot_tools:"$PATH"
RUN cd /home && fetch v8

旅程继续......