我试图在我的Arch Linux机器上安装Telegram Messenger,但它一直在向我吐出错误。这是完整的日志:
google-breakpad-git r1603.32a9e038-1 (2017-03-08 19:58)
( Unsupported package: Potentially dangerous ! )
==> Edit PKGBUILD ? [Y/n] ("A" to abort)
==> ------------------------------------
==> n
==> google-breakpad-git dependencies:
- depot-tools-git (already installed) [makedepend]
==> Continue building google-breakpad-git ? [Y/n]
==> ---------------------------------------------
==> y
==> Building and installing package
==> Making package: google-breakpad-git r1603.32a9e038-1 (Thu Aug 3 21:38:58 CEST 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
==> Extracting sources...
==> Starting prepare()...
Running: /usr/bin/python2 /opt/depot_tools/gclient.py root
Running: /usr/bin/python2 /opt/depot_tools/gclient.py config --spec 'solutions = [
{
"url": "https://chromium.googlesource.com/breakpad/breakpad.git",
"managed": False,
"name": "src",
"custom_deps": {},
},
]
'
Running: /usr/bin/python2 /opt/depot_tools/gclient.py sync
src/src/tools/gyp (ERROR)
----------------------------------------
[0:00:02] Started.
[0:00:02]
________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress https://chromium.googlesource.com/external/gyp /tmp/yaourt-tmp-yuki/aur-google-breakpad-git/src/google-breakpad-git/src/src/tools/_gclient_gyp_dxYhz1' in '/tmp/yaourt-tmp-yuki/aur-google-breakpad-git/src/google-breakpad-git'
[0:00:02] Cloning into '/tmp/yaourt-tmp-yuki/aur-google-breakpad-git/src/google-breakpad-git/src/src/tools/_gclient_gyp_dxYhz1'...
[0:00:02] remote: Sending approximately 11.43 MiB ...
[0:00:02] Receiving objects: 0% (1/17918)
[0:00:02] Receiving objects: 10% (1792/17918)
[0:00:03] remote: Total 17918 (delta 11275), reused 17918 (delta 11275)
[0:00:03] Receiving objects: 100% (17918/17918)
[0:00:03] Resolving deltas: 0% (0/11275)
[0:00:03] Resolving deltas: 10% (1205/11275)
[0:00:03] Resolving deltas: 100% (11275/11275)
[0:00:03] Checked out e8ab0833a42691cd2184bd4c45d779e43821d3e0 to a detached HEAD. Before making any commits
in this repo, you should use 'git checkout <branch>' to switch to
an existing branch or use 'git checkout origin -b <branch>' to
create a new branch for your work.
[0:00:03]
----------------------------------------
Traceback (most recent call last):
File "/opt/depot_tools/gclient.py", line 2509, in <module>
sys.exit(main(sys.argv[1:]))
File "/opt/depot_tools/gclient.py", line 2495, in main
return dispatcher.execute(OptionParser(), argv)
File "/opt/depot_tools/subcommand.py", line 252, in execute
return command(parser, args[1:])
File "/opt/depot_tools/gclient.py", line 2256, in CMDsync
ret = client.RunOnDeps('update', args)
File "/opt/depot_tools/gclient.py", line 1436, in RunOnDeps
work_queue.flush(revision_overrides, command, args, options=self._options)
File "/opt/depot_tools/gclient_utils.py", line 1050, in run
self.item.run(*self.args, **self.kwargs)
File "/opt/depot_tools/gclient.py", line 889, in run
self.ParseDepsFile()
File "/opt/depot_tools/gclient.py", line 689, in ParseDepsFile
gclient_eval.Exec(deps_content, global_scope, local_scope, filepath)
File "/opt/depot_tools/gclient_eval.py", line 209, in Exec
_visit_in_module(stmt)
File "/opt/depot_tools/gclient_eval.py", line 193, in _visit_in_module
value = _gclient_eval(node.value, global_scope, filename=filename)
File "/opt/depot_tools/gclient_eval.py", line 173, in _gclient_eval
return _convert(node_or_string)
File "/opt/depot_tools/gclient_eval.py", line 146, in _convert
for k, v in zip(node.keys, node.values))
File "/usr/lib/python2.7/collections.py", line 69, in __init__
self.__update(*args, **kwds)
File "/usr/lib/python2.7/_abcoll.py", line 571, in update
for key, value in other:
File "/opt/depot_tools/gclient_eval.py", line 146, in <genexpr>
for k, v in zip(node.keys, node.values))
File "/opt/depot_tools/gclient_eval.py", line 146, in _convert
for k, v in zip(node.keys, node.values))
File "/usr/lib/python2.7/collections.py", line 69, in __init__
self.__update(*args, **kwds)
File "/usr/lib/python2.7/_abcoll.py", line 571, in update
for key, value in other:
File "/opt/depot_tools/gclient_eval.py", line 146, in <genexpr>
for k, v in zip(node.keys, node.values))
File "/opt/depot_tools/gclient_eval.py", line 165, in _convert
return _convert(node.left) + _convert(node.right)
File "/opt/depot_tools/gclient_eval.py", line 167, in _convert
return _convert(node.left) % _convert(node.right)
TypeError: not all arguments converted during string formatting
Traceback (most recent call last):
File "/opt/depot_tools/fetch.py", line 299, in <module>
sys.exit(main())
File "/opt/depot_tools/fetch.py", line 294, in main
return run(options, spec, root)
File "/opt/depot_tools/fetch.py", line 288, in run
return checkout.init()
File "/opt/depot_tools/fetch.py", line 131, in init
self.run_gclient(*sync_cmd)
File "/opt/depot_tools/fetch.py", line 78, in run_gclient
return self.run(cmd_prefix + cmd, **kwargs)
File "/opt/depot_tools/fetch.py", line 68, in run
return subprocess.check_output(cmd, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 219, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '('/usr/bin/python2', '/opt/depot_tools/gclient.py', 'sync')' returned non-zero exit status 1
==> ERROR: A failure occurred in prepare().
Aborting...
==> ERROR: Makepkg was unable to build google-breakpad-git.
我也尝试使用pacaur,但我得到的结果相同。
答案 0 :(得分:1)
这是gclient_eval.py中的错误。我附上了一个适用于https://bugs.chromium.org/p/chromium/issues/detail?id=749720
的补丁这实际上只是一个字符的变化。查看补丁,您将看到您只需要在第167行将%更改为+。由于您的帐户无权修改文件,因此您需要更改其权限或使用sudo vim(或者你最喜欢的编辑)来编辑它。