gnueabi errors on 64-bit Ubuntu Linux


When you first started Android development, you installed 64-bit Ubuntu Linux,
CodeSorcerer toolchain, you may have encountered the following error.

---------------------------------------------------------
arm-none-linux-gnueabi-gcc: No such file or directory

or

arm-none-linux-gnueabi-gcc: command not found

or

arm-none-linux-gnueabi-gcc: cannot execute binary files
---------------------------------------------------------

Looking at the properties of the arm-none-linux-gnueabi-gcc file with the file command,
ELF 32-bit LSB executable, which means that the toolchain is built as a 32-bit binary.
(This is also described in the Code Sorcery G++ documentation)

Now, you might think that this would be a problem in a 64-bit environment. So what's the problem? The first answer is that there is no 32-bit version of the shared library that this file (32-bit) uses. 64-bit Ubuntu only installs 64-bit shared libraries by default. However, the error message is actually a bit misleading. It's supposed to say that a specific version of a shared library is missing.

The 32-bit versions of the libraries used by the arm-none-linux-gnuabi-gcc file are /lib32/ld-linux.so.2 (the 32-bit version of the ld.so dynamic linker/loader) and /lib32/libc.so.6 (the 32-bit version of the C library), both of which are in the libc6-i386 package (a collection of 32-bit libraries that run in an AMD64 environment). So let's install the libc6-i386 package.

# apt-get install libc6-i386

Now run ldd arm-none-linux-gnuabi-gcc and you should see the above. (Unfortunately, the ldd command for that file won't work until you install the 32-bit library. If it did work, it would have saved a lot of people a lot of trouble...)

* Reference Sites



Comments

Unknown said…
감사합니다.. 큰도움이 되엇어요

Popular posts from this blog

How to Fix Mac Calculator '=' Button Not Showing Up

Best alternative cooperative elementary school in Korea nearby Seoul