二进制文件存在但 shell 说没有这样的文件

二进制文件存在但 shell 说没有这样的文件
  1. 我在 Android 上的 UserLAnd 中使用 Ubuntu。
  2. 我刚刚从 Android SDK Manager sdkmanager 安装了cmake 3.18.1

cmake/3.18.1/bin现在,我可以通过在其目录中看到 cmake 可执行文件ls,但是当我运行 时./cmake,bash 返回bash: ./cmake: No such file or directory。哪里出错了?控制台的完整输出:

ubuntu@me:~/cmake/3.18.1/bin$ ls
ccmake  cmake  cpack  ctest  ninja

ubuntu@me:~/cmake/3.18.1/bin$ ./cmake
bash: ./cmake: No such file or directory

ubuntu@me:~/cmake/3.18.1/bin$ file ./cmake
./cmake: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, stripped

ubuntu@me:~/cmake/3.18.1/bin$ ldd ./cmake
        not a dynamic executable

ubuntu@me:~/cmake/3.18.1/bin$ uname -m              
        aarch64

谢谢!

答案1

这个令人困惑的错误,没有找到文件,就是你得到的如果你尝试运行针对不同架构编译的二进制文件。在你的情况下,你正在运行AArch64系统,在 ARM 芯片上。但是,你的二进制文件是为x86-64,英特尔和 AMD 芯片(可能还有其他芯片)所使用的架构。

简而言之,您无法在系统上执行此二进制文件。相反,您需要下载针对 AArch64 编译的版本或自行从源代码编译。

相关内容