alex-ks / ev3dev_csharp

C# Library for Lego Mindstorms EV3 (running on ev3dev linux)
4 stars 0 forks source link

How to install Mono on ev3dev? #8

Open BeefyAndTheDucks opened 6 months ago

BeefyAndTheDucks commented 6 months ago

I know this might be a dumb question, but how do you install Mono on a ev3dev? Thanks in advance :)

alex-ks commented 6 months ago

The way I had used was simply via apt: https://www.mono-project.com/download/stable/#download-lin-debian, the package mono-complete just to be sure that everything is present.

The problem is that Mono has not been supporting armel architecture (which the EV3 processor is) since 5.16 release, so newer versions even cannot be installed =( But you can try to downgrade the package version via apt. Unfortunately, I do not have EV3 right now to check if this still works

alex-ks commented 6 months ago

It seems like the default apt repositories in ev3dev has been broken since Debian archived the stretch repos. So some preparations should be done:

sudo sed -i 's|security.debian.org|archive.debian.org/debian-security|g' /etc/apt/sources.list
sudo sed -i 's|httpredir.debian.org|archive.debian.org|g' /etc/apt/sources.list

This will fix the dependencies. After that, you can execute the mono install instructions with small modifications:

sudo apt install dirmngr ca-certificates gnupg apt-transport-https
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/debian stretch/snapshots/5.14.0.177 main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

These instructions contain additional apt-transport-https required for using https links to repos and link to mono snapshot 5.14.0.177 instead of the main branch.