如何解决错误 无法执行 Ninja我试图执行“/opt/fuchsia/prebuilt/third_party/ninja/linux-arm64/ninja”
我想在我的 jetson nano(arm64)上使用 qemu 和 kvm 模拟谷歌紫红色操作系统。这是我正在阅读的指南:
https://fuchsia.dev/fuchsia-src/get-started/get_fuchsia_source
在下面你可以看到完整的日志,包括我发出的所有命令和我得到的回复,直到最后一个是我无法修复的错误:
/opt# python --version
Python 3.8.11
/opt# curl -sO https://storage.googleapis.com/fuchsia-ffx/ffx-linux-x64 && chmod +x ffx-linux-x64 && ./ffx-linux-x64 platform preflight
bash: ./ffx-linux-x64: cannot execute binary file: Exec format error
/opt# curl -s "https://fuchsia.googlesource.com/fuchsia/+/HEAD/scripts/bootstrap?format=TEXT" | base64 --decode | bash
WARNING: Jiri doesn't support timely updates for arch 'aarch64'. This or future binaries of Jiri might be out of date.
cipd bootstrapped to path:"/opt/fuchsia/.jiri_root/bin/cipd"
Please add /opt/fuchsia/.jiri_root/bin to your PATH
WARN: Please opt in or out of analytics collection. You will receive this warning until an option is selected.
To check what data we collect run: jiri init -show-analytics-data
To opt-in run: jiri init -analytics-opt=true "/opt/fuchsia"
To opt-out run: jiri init -analytics-opt=false "/opt/fuchsia"
Updating all projects
WARN: Some packages are skipped by cipd due to lack of access,you might want to run "/opt/fuchsia/.jiri_root/bin/cipd auth-login" and try again
Done creating a Platform Source Tree at "/opt/fuchsia".
Recommended: export PATH="/opt/fuchsia/.jiri_root/bin:$PATH"
/opt# nano ~/.bash_profile
export PATH=/opt/fuchsia/.jiri_root/bin:$PATH
source /opt/fuchsia/scripts/fx-env.sh
/opt# source ~/.bash_profile
/opt# jiri help
Command jiri is a multi-purpose tool for multi-repo development.
Usage:
jiri [flags] <command>
/opt/fuchsia# fx help
usage: fx [--dir BUILD_DIR] [-d DEVICE_NAME] [-i] [-x] COMMAND [...]
Run Fuchsia development commands. Must be run from a directory
that is contained in a Platform Source Tree.
/opt/fuchsia# fx set core.qemu-arm64
WARNING: Please opt in or out of fx metrics collection.
You will receive this warning until an option is selected.
To check what data we collect,run `fx metrics`
To opt in or out,run `fx metrics <enable|disable>
/opt/fuchsia/tools/devshell/go: line 21: /opt/fuchsia/prebuilt/third_party/go/linux-arm64/bin/go: cannot execute binary file: Exec format error
/opt/fuchsia/tools/devshell/go: line 21: /opt/fuchsia/prebuilt/third_party/go/linux-arm64/bin/go: Success
ERROR: Failed to build fx set.
ERROR: Please file a bug using `fx report-bug set` with the full error copy-pasted.
ERROR: Rerun your command using the uncompiled version:
ERROR: fx --enable=legacy_set set core.qemu-arm64
/opt/fuchsia# fx --enable=legacy_set set core.qemu-arm64
WARNING: Please opt in or out of fx metrics collection.
You will receive this warning until an option is selected.
To check what data we collect,run fx metrics
To opt in or out,run `fx metrics <enable|disable>
ERROR 无法执行 Ninja。我试图执行“/opt/fuchsia/prebuilt/third_party/ninja/linux-arm64/ninja”
解决方法
我将从 source code guide 中指出这一点开始:
目前预检工具仅作为 x64 预构建提供。 Fuchsia 目前不能保证在其他主机架构上成功构建。
所以这不是官方支持的路径,并且可能会有锋利的边缘。每当您在日志中看到 Exec format error
弹出时,都与预构建未在正确架构上运行的事实有关。这可能是因为预构建的 arm64
不存在,或者它可能被错误地获取。
对于 ffx platform preflight
,目前没有上传 arm64
二进制文件(您复制的命令提取了 x64
二进制文件)。但是,此步骤仅有助于验证先决条件……不需要完成构建。我已提交 fxbug.dev/80517 与可能为此添加支持相关的事宜。
来自 fuchsia/prebuilt
的后续错误与引导期间下载的 linux-arm64
二进制文件的问题有关。我建议在 public issue tracker 中将此问题作为功能请求提交。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。