Question: My 64Bit ARM platform is shipped with Ubuntu 16 and I need to run my 32 bit App which is compiled for ARM32:

```
[root@artik publish]# file myApp
myApp: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=b455beda566647d2bfebccd157261c60c60f64b3, stripped

```

Is it possible to run an ARM32 bit app on an ARM64bit Ubuntu 16.0? What are the needed 32 bit libraries that can support the ARM32 bit app and where should I install them from? 

Below article answers this same question for x86 but how can I do it for Arm32 apps on ARM64?

[How to run 32-bit app in Ubuntu 64-bit?](https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit)

Thanks in advance,
Emeel

Answer: 
I found a way to do this explained in the following link (by James Kingdon, thanks!) 

<https://forum.armbian.com/topic/4764-running-32-bit-applications-on-aarch64/>

These are the steps to make a simple ARM32 app run on the Ubuntu 16.04/AARCH64.

```
dpkg --add-architecture armhf
apt-get update (ignore the missing x386 packages and hope for the best)
apt-get install libc6:armhf libstdc++6:armhf

```

Create a symbolic link to the 32Bit lib below:

```
cd /lib
ln -s arm-linux-gnueabihf/ld-2.23.so ld-linux.so.3

```

After doing this my .NETCore 2.1 app throw an error which I worked around by disabling globalization. After that the ARM32 bit app ran successfully.

-Emeel
I had a similar problem with .NET 6 on Debian 11. The following solution works nicely:

```
sudo dpkg --add-architecture armhf

sudo apt install libicu67:armhf libstdc++6:armhf libssl1.1:armhf

```

Explanation:

The solution is similar to the post of @EmEn (<https://askubuntu.com/a/1090440/1620736>) but does not need to disable globalization, since this is provided by libicu67 (the version number will depend on the Linux version).

For my project, I also needed libssl\*.
This seems to depend upon which functionality one uses. Found this link for .NET Core 3.\*: <https://gist.github.com/richlander/467813274cea8abc624553ee72b28213#Dependencies>

"libc6:armhf" is installed as a dependency of "libstdc++6:armhf" anyway, so I removed it from the command line.

I did not see any reason to create the symlink on my system.