Keil Logo

ARMCC: Run Arm Compiler Toolchain in Linux

Information in this knowledgebase article applies to:

  • ARMCC v5.x Compiler Toolchain


I have downloaded and installed ARMCC v5.x compiler toolchain from this link on my Ubuntu Linux PC.

But when I run ./armcc directly from my installation folder, it keeps giving error "No such file or directory". I have checked the file permission of all executable files in /installation_folder/bin or /installation_folder/bin64, my user account has execution rights for all these executable files.

How can I resolve this issue?


It is very likely due to the fact that your Ubuntu Linux is a 64-bit OS, and previously you haven't yet installed 32-bit libraries, in order to run 32-bit executables in a 64-bit Linux OS.

The following output from the command uname can confirm your Ubuntu is a 64-bit OS

uname -i

If you run the following command and get the output like:

ldd /installation_folder/bin64/armcc
not a dynamic executable

and call the command:

file /installation_folder/bin64/armcc
armcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/, for GNU/Linux 2.6.18, stripped

That means you are trying running armcc, which is a 32-bit executable, in your 64-bit Linux OS, where the necessary 32-bit dynamic libraries are missing.

Note that all executable files except armlink in the directory /installation_folder/bin64/ are still 32-bit executable files.


In Ubuntu (note that other Linux variants might have different commands), call this command to install such 32-bit dynamic libraries.

sudo apt-get install lib32z1

Afterwards, calling ldd command might show this output:

ldd /installation_folder/bin64/armcc (0xf7f5b000) => /lib32/ (0xf7e77000) => /lib32/ (0xf7c9e000)
/lib/ (0xf7f5d000) => /lib32/ (0xf7c99000) => /lib32/ (0xf7c7a000)

It indicates now the necessary 32-bit dynamic libraries are available.

In this case you can call ./armcc directly from your installation folder as a normal executable file, or call it from anywhere, if you add the directory path /installation_folder/bin and /installation_folder/bin64 to your linux PATH system environment variable.

Licenses for MDK only enable Arm Compiler on Windows, and not Linux. If you need to use Arm Compiler on Linux, please contact Arm or your distributor to discuss suitable licenses.

Last Reviewed: Thursday, August 1, 2019

Did this article provide the answer you needed?
Not Sure
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.