7
  1. I'm using the Ubuntu in UserLAnd on an android.
  2. I just installed from the Android SDK Manager sdkmanager cmake 3.18.1.

Now, I can see the cmake executable from its directory cmake/3.18.1/bin byls, 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

Thanks!

wicstas
  • 89

1 Answers1

22

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.

terdon
  • 104,119