This is not an issue with the Ubuntu/Debian system, it has something to do with the package maintainer forgetting some core dependencies not listed on its control file, installing a package for a foreign architecture on a platform with a whole different architecture meaning you have to download every single binary of the same architecture required by that application in order for it to work.
I just kept receiving errors in console when I opened chromium-browser without the other dependencies that were not listed, so I found it what's the cause of them and tried to specify the correct binary package needed. The good news is that now I'm very sure we can run any binary compiled for armhf or armel on our arm64 platform.
So, sometimes even famous package maintainers like Ubuntu team will possibly not prepare a perfectly complete dependency list for their packages. Regarding your mono application, I will try getting it to work soon, it may have 1 ~ 3 missing dependencies because I don't think they will forget too many of them.
This is the control file of the chromium browser package on my repository, the dependency list is exactly the same as the package available on the Ubuntu official repository:
Code: Select all
Maintainer: Ubuntu Developers <firstname.lastname@example.org>
Pre-Depends: dpkg (>= 1.15.6)
Depends: gconf-service, libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.16), libcairo2 (>= 1.6.0), libcups2 (>= 1.4.0), libdbus-1-3 (>= 1.2.14), libexpat1 (>= 2.0.1), libfontconfig1 (>= 2.9.0), libfreetype6 (>= 2.3.9), libgcc1 (>= 1:4.4.0), libgconf-2-4 (>= 3.2.5), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgnome-keyring0 (>= 3.2.2-2~), libgtk2.0-0 (>= 2.24.0), libnspr4 (>= 2:4.9-2~) | libnspr4-0d (>= 220.127.116.11), libnss3 (>= 2:3.14.3), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libstdc++6 (>= 4.8), libx11-6 (>= 2:18.104.22.168), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:5.0), libxi6 (>= 2:22.214.171.124), libxrandr2 (>= 2:126.96.36.199), libxrender1, libxss1, libxtst6, zlib1g (>= 1:1.1.4), bash (>= 4), xdg-utils, chromium-codecs-ffmpeg-extra (= 45.0.2454.101-0ubuntu0.15.04.1.1183) | chromium-codecs-ffmpeg (= 45.0.2454.101-0ubuntu0.15.04.1.1183)
Suggests: webaccounts-chromium-extension, unity-chromium-extension, adobe-flashplugin
Provides: chromium-browser-inspector, www-browser
Description: Chromium web browser, open-source version of Chrome
An open-source browser project that aims to build a safer, faster, and more
stable way for all Internet users to experience the web.
As you can see we done see any of these listed anywhere:
Code: Select all
libexif12:armhf gtk2-engines-murrine:armhf gtk2-engines-pixbuf:armhf libudev1:armhf
Sometimes dependencies of dependencies will do the job installing other missing packages but that's not the case for every application. The package maintainer could for example expect them to be installed as a result of other packages "must have" dependencies that the system can't work without them already however, it didn't happen on our case as we have 0 armhf packages installed on our arm64 platform.