7

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

2 Answers 2

10

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

0

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .