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?
Thanks in advance, Emeel
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.
Create a symbolic link to the 32Bit lib below:
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:
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.