我尝试在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
编辑(添加版本信息):
答案 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
旅程继续......