【问题标题】:ERROR Could not execute Ninja. I was trying to execute "/opt/fuchsia/prebuilt/third_party/ninja/linux-arm64/ninja"错误无法执行忍者。我试图执行“/opt/fuchsia/prebuilt/third_party/ninja/linux-arm64/ninja”
【发布时间】:2021-09-15 15:42:54
【问题描述】:

我想用 qemu 和 kvm 在我的 jetson nano (arm64) 上模拟 google fuchsia OS。这是我正在阅读的指南:

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>

错误无法执行忍者。我试图执行“/opt/fuchsia/prebuilt/third_party/ninja/linux-arm64/ninja”

【问题讨论】:

    标签: linux arm arm64 ninja fuchsia


    【解决方案1】:

    我将首先从source code guide 中指出这一点:

    目前,预检工具仅作为 x64 预构建提供。 Fuchsia 目前不能保证在其他主机架构上成功构建。

    所以这不是官方支持的路径,并且可能存在尖锐的边缘。每当您在日志中看到Exec format error 弹出时,这都与预构建未在正确架构上运行的事实有关。这可能是因为 arm64 预构建不存在,或者可能是未正确获取。

    对于ffx platform preflight,目前没有上传arm64 二进制文件(您复制的命令提取了x64 二进制文件)。但是,此步骤仅有助于验证先决条件......它不是完成构建所必需的。我已提交fxbug.dev/80517 与可能添加对此的支持有关。

    来自fuchsia/prebuilt 的后续错误与引导期间下载的linux-arm64 二进制文件有关。我建议将此问题作为功能请求提交到 public issue tracker

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-30
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      相关资源
      最近更新 更多