Getting NZBDrone to use mono 3.6

I’ve compiled mono 3.6 on my Raspberry Pi and it appears fine:

Mono JIT compiler version 3.6.0 (tarball Tue Nov 11 13:47:06 UTC 2014)

When I go to syste on NzbDrone it still says:

Mono Version 3.2.8 (Debian 3.2.8+dfsg-4+rpi1)

How can I make it use mono 3.6?

Thanks

Sounds like you have two versions installed, you should remove 3.2.8 from the path and add 3.6.0 instead. Alternatively you could run 3.6 directly when starting Sonarr, but then you will be unable to restart/update from within Sonarr because it will attempt to restart it with 3.2.8 instead of 3.6.

Okay thanks for that. Any tips on removing 3.2.8 from the path and adding 3.6.0?

I’ve never come across a forum setup and looking like this before, its pretty cool!

Find it and rename it in case you need to change it back later: find / -name mono

I get:

/etc/mono
/media/HDD1/Backups/mono-3.6.0/mono
/media/HDD1/Backups/mono-3.6.0/mono/mini/mono
/media/HDD1/Backups/mono-3.6.0/runtime/_tmpinst/bin/mono
/media/HDD1/Backups/mono-3.6.0/runtime/etc/mono
/usr/share/cli-common/runtimes.d/mono
/usr/share/mono
/usr/share/mono-2.0/mono
/usr/local/share/mono-2.0/mono
/usr/local/etc/mono
/usr/local/include/mono-2.0/mono
/usr/local/bin/mono
/usr/local/lib/mono
/usr/lib/mono

I’ve renamed the “mono” file to monoold, rebooted then reinstated if it didn’t work on a few of them but so far it either still says it’s 3.2.8 or Sonarr doesn’t work.

I’ve found my nzbdrone.conf in /etc/init.d/
Can I put the oath to the new mono in there? if so how?

Sometimes it blows my mind how complicated all this is.

/path/to/mono but that would mean updates and restarting via the UI will not be possible, unless you do them outside of Sonarr. since it will use the one on the path.

You should be able to use which mono to figure out the path for the one that is used.

We recently mirrored mono to our apt repository, so you shouldn’t need to compile mono from source anymore as long as you added our repo to you source list.

I did which mono which gave me /usr/local/bin/mono
I checked that one and it had yesterdays date, I guess that means it 3.6.

I drilled through the other ones and came across /usr/bin/mono with a date from March 2014. I renamed that file to “monoold” rebooted and mono doesn’t look like it starts and neither does NzbDrone.

What should I do next? If I want to use the one in the repository and get this working what are my steps?

Where did you get 3.6 from? Compiled from source?

You should be able to remove the source for update.nzbdrone.com and re-follow the install steps here: https://github.com/Sonarr/Sonarr/wiki/Installation#ubuntu

Yes I compiled from source.
Yesterday I ended up doing a mono purge and removed it completely.

I tried starting again using that guide but after another 11 hour compiling mono and it saying again 3.6.

NzbDrone wouldn’t install:

The following packages have unmet dependencies:
 nzbdrone : Depends: libmono-cil-dev (>= 2.10.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

kayone said you recently mirrored mono into the apt repository. How do I do I use that so I don’t have to compile?

https://github.com/Sonarr/Sonarr/wiki/Installation#ubuntu - its mirrored in our repo (remove update.nzbdrone.com and add the new correct one).

I did sudo nano /etc/apt/sources.list
Removed update.nzbdrone.com
Saved
Ran sudo apt-get update
then

sudo apt-get install nzbdrone
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nzbdrone : Depends: libmono-cil-dev (>= 2.10.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

You added the new repo URL from the wiki?

Might be an issue with the clone for rpi, either its not available or its not compatible. We’ll have to take a look if that’s the case.

This is my sources.list

deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
deb https://apt.sonarr.tv/ master main

I just updated the repo, not sure if it will refresh the packages for armhf or not, but you can verify with sudo apt-get update and then attempting to install again.

You can also verify which packages are being provided by our repo with grep: http://serverfault.com/questions/252333/list-all-packages-from-a-repository-in-ubuntu-debian

It still didn’t work after apt-get update. Not sure I know how to verify the packages correctly.

pi@piserver ~ $ sudo apt-get update
Hit http://archive.raspberrypi.org wheezy Release.gpg
Hit http://archive.raspberrypi.org wheezy Release                                                                            
Hit http://mirrordirector.raspbian.org wheezy Release.gpg                                                                    
Hit http://archive.raspbian.org wheezy Release.gpg                                                                           
Hit http://raspberrypi.collabora.com wheezy Release.gpg                                                                      
Hit http://mirrordirector.raspbian.org wheezy Release                                                                        
Hit http://raspberrypi.collabora.com wheezy Release                                                                          
Hit http://archive.raspbian.org wheezy Release                                                                               
Hit http://archive.raspberrypi.org wheezy/main armhf Packages                                           
Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages                                                         
Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages                                                      
Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages                   
Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages                                                          
Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages                                                            
Hit http://archive.raspbian.org wheezy/main Sources                                                           
Hit http://archive.raspbian.org wheezy/contrib Sources                                                                   
Hit http://archive.raspbian.org wheezy/non-free Sources                                                                  
Hit http://archive.raspbian.org wheezy/rpi Sources                                                                           
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB                                                             
Ign http://archive.raspberrypi.org wheezy/main Translation-en                                                              
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en   
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Get:1 https://apt.sonarr.tv master Release.gpg [473 B]
Get:2 https://apt.sonarr.tv master Release [6,355 B]
Get:3 https://apt.sonarr.tv master/main armhf Packages [57.1 kB]
Ign https://apt.sonarr.tv master/main Translation-en_GB                                                                      
Ign https://apt.sonarr.tv master/main Translation-en                                                                         
Fetched 63.9 kB in 37s (1,686 B/s)                                                                                           
Reading package lists... Done
pi@piserver ~ $ sudo apt-get install nzbdrone
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 nzbdrone : Depends: libmono-cil-dev (>= 2.10.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

    pi@piserver ~ $ grep-dctrl -sPackage . /var/lib/apt/lists/ppa.launchpad.net_*_Packages 
-bash: grep-dctrl: command not found
pi@piserver ~ $ grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages 
grep: /var/lib/apt/lists/ppa.launchpad.net_*_Packages: No such file or directory
pi@piserver ~ $ grep ^Package: /var/lib/apt/lists/ppa.launchpad.net_*_Packages
grep: /var/lib/apt/lists/ppa.launchpad.net_*_Packages: No such file or directory
pi@piserver ~ $ aptitude search '~O LP-PPA-gstreamer-developers'
pi@piserver ~ $

We were incorrect in thinking mono 3.10 was available for armhf in our repo. Unfortunately it is not and you will to use mono 3.6.

To find out where mono 3.2.8 is coming from you should be able to run mono --version for each mono result in your find and then rename it if its 3.2.8.

mono --version says:

pi@piserver ~ $ mono --version
Mono JIT compiler version 3.6.0 (tarball Thu Nov 13 03:47:27 UTC 2014)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       normal
	Notifications: epoll
	Architecture:  armel,vfp+hard
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            sgen

which mono says:

pi@piserver ~ $ which mono
/usr/local/bin/mono

I don’t have 3.2.8 anymore as I purged all mono.

Unless theres a relivatevly simple fix I think I’m going to give up trying with 3.6 and just restore my SD from a back up and run with 3.2.8. I was only doing it to stop NzbDrone freezing every now and again and I’ve spent hours and hours doing this.