A binary file exists but shell says no such file
- I’m using the Ubuntu in UserLAnd on an android.
- I just installed from the Android SDK Manager sdkmanager cmake 3.18.1.
Now, I can see the cmake executable from its directory
ls, but when I run
./cmake, bash returns
bash: ./cmake: No such file or directory. What went wrong? The full output from console:
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
This confusing error, no file found, is what you get if you try to run a binary compiled for a different architecture. In your case, you are running on an AArch64 system, on an ARM chip. However, your binary was compiled for x86-64, an architecture used in Intel and AMD chips (possibly others too).
In short, you cannot execute this binary on your system. Instead, you need to download a version compiled for AArch64 or compile it yourself from source.