Dietpi-software no longer working after pinning Mono to 5.18

Hi,

I am new to raspberry and Dietpi, and currently working on setting it up for Sonarr, Radarr and Plex.
I experienced issues with Sonarr and Radarr not being able to move the file to my mounted NAS due to permissions issues related to Mono Runtime 6.

I came across the following guide https://stackoverflow.com/questions/33763177/install-older-version-of-mono which helped me downgrade my Mono runtime to 5.18.0.240 by editing /etc/apt/sources.list.d/mono-xamarin.list as per below

Original entry

deb https://download.mono-project.com/repo/debian/ raspbianbuster main

New entry

deb https://download.mono-project.com/repo/debian/ raspbianbuster/snapshots/5.18.0.240 main

The exact steps I followed were

sudo apt remove --purge --auto-remove mono-runtime
# Edit your mono-xamarin.list and pin it to the version of your choice.
sudo apt-get update
sudo apt-get install mono-complete

Now every time I try to install Radarr, Jackett etc through dietpi-software I get the following error and I have no idea how to resolve it.

If I revert /etc/apt/sources.list.d/mono-xamarin.list to the original entry, will the mono runtime be upgraded automatically to version 6?
And will it resolve the issue?

APT update                                                                                                           │ 
           │  - Command: apt-get -q update                                                                                        │ 
           │  - Exit code: 100                                                                                                    │ 
           │  - DietPi version: v6.32.2 (MichaIng/master) | HW_MODEL: 4 | HW_ARCH: 2 | DISTRO: 5                                  │ 
           │  - Image creator: DietPi Core Team                                                                                   │ 
           │  - Pre-image: Raspberry Pi OS (32-bit) Lite                                                                          │ 
           │  - Error log:                                                                                                        │ 
           │ Hit:1 http://raspbian.raspberrypi.org/raspbian buster InRelease                                                      │ 
           │ Hit:2 https://archive.raspberrypi.org/debian buster InRelease                                                        │ 
           │ Hit:3 https://apt.sonarr.tv/debian buster InRelease                                                                  │ 
           │ Ign:4 https://download.mono-project.com/repo/debian raspbianbuster/snapshots/5.18.0.240 InRelease                    │ 
           │ Err:5 https://download.mono-project.com/repo/debian raspbianbuster/snapshots/5.18.0.240 Release                      │ 
           │   404  Not Found [IP: 152.199.19.161 443]                                                                            │ 
           │ Reading package lists...                                                                                             │ 
           │ E: The repository 'https://download.mono-project.com/repo/debian raspbianbuster/snapshots/5.18.0.240 Release' does   │ 
           │ not have a Release file.                                                                                             │ 
           │                                                                                                                      │ 
           │                         Retry          : Re-run the last command that failed                                         │ 
           │                         DietPi-Config  : Edit network, APT/NTP mirror settings etc                                   │ 
           │                         Open subshell  : Open a subshell to investigate or solve the issue                           │ 
           │                         Send report    : Uploads bugreport containing system info to DietPi                          │ 
           │                                        ●─ Devs only ──────────────────────────────────────●                          │ 
           │                         Change command : Adjust and rerun the command                                                │ 
           │

I appreciate your advice and guidance.

Thanks,

Hi,

many thanks for your message. Yes there is the issue with mono v6 & CIFS mounts still. Performing a downgrade to mono v5 is a possible option.

However, your “trick” to pin mono to v5 is not working anymore because it seems mono v5 has been removed from download page. Latest available is mono v6.0 now.

https://download.mono-project.com/repo/debian/dists/raspbianbuster/snapshots/

Therefore you would need to revert /etc/apt/sources.list.d/mono-xamarin.list back to it’s original state. If you already have mono v5 installed, you could set mono packages to on-hold.

apt-mark hold mono-complete mono-runtime

This will prevent mono from being updated if you run apt upgrade or any other software installation vie dietpi-software. But, as soon as you try to reinstall mono via dietpi-software, it will force installation of latest mono v6. Maybe MichaIng knows how to avoid removing the on-hold flag :slight_smile:

Bottom line, normal system update and software installation will work, but mono re-installation will upgrade you to v6.

I just see that for the Stretch suite there are still mono v5 snapshots available, just not sure if their library dependencies allow them to be installed on Buster: https://download.mono-project.com/repo/debian/dists/stretch/snapshots/

I’ll now concentrate on migrating our Sonarr implementation to v3 (still beta but worth it), which has a workaround implemented for the Mono thing. I can’t believe that there is still not upstream solution for this very major issue and mono even removed the only simple way of workaround now. I personally not gonna invest time to implement some ugly workaround from our side. If we start to set those packages on hold, then users run into incompatibilities from the other side earlier or later, so that would need continuous review and maintenance. Better to invest time to push mono => .NET to get that broken function usable on UNIX systems.

Looking into where this issue is handled upstream:

  • Mono, PR was there but closed, no response and no further update on the status: https://github.com/mono/mono/pull/17870
  • .NET, PR was there but closed as repo moved: https://github.com/dotnet/corefx/pull/42458
  • .NET, PR on new repo was merged just a month ago, although due to the many hops, I’m not 100% sure if this really fixes the bug. So it might be probably only a next mono release to has it fixed (?). We’ll see…

thank you both.
managed to get things working now and putting mono on hold. :rofl: :rofl: :rofl: