Just after the Mono 3.0 release was announced I started working on Debian packages and after a couple of days of hard work I already have some preview packages for you.

The preview packages are currently limited to the AMD64 architecture but can be installed on Debian/Testing (Wheezy), Debian/Unstable (Sid) and Ubuntu/Quantal (12.10). After these preview packages have received some successful feedback (please leave feedback via comments!), I will upload them to Debian/Experimental.

In case you are shocked why I have packages in just 8 days after the official Mono 3.0 release, there are 3 factors that play a big role:

  1. New packaging workflow
  2. Downstream patches are management in git branches
  3. Release Early, Release Often: I no longer port and test every patch very carefully (especially with architecture specific patches), instead I port them with my best knowledge and upload them to debian.meebey.net and/or Debian/Experimental and use that as test ground. If regressions happen, let them happen, and make further uploads to address them.
  4. New packaging style
  5. Starting with my Mono 2.10 packages, each library has it's own package, which simplifies packaging.
  6. Sponsored packaging
  7. As my employer needs Mono packages for an upcoming software project, I was granted to work on Mono packages in worktime.

Install instructions

OBLIGATORY WARNING: DO NOT USE THESE PREVIEW PACKAGES ON PRODUCTION SYSTEMS NOR BLAME ME IF YOUR MONO SOFTWARE NO LONGER WORKS!

Add this line to your /etc/apt/sources.list file:

deb http://debian.meebey.net/experimental/mono /

Now update the APT database and install mono-complete from that repository:

apt-get update
apt-get install mono-complete

UPDATE: Some people reported issues with xsp4 on Mono 3.0 that look like this:

An exception has occurred while generating HttpException page:
System.NullReferenceException: Object reference not set to an instance of an object
  at System.Web.Util.HttpEncoder.GetCustomEncoderFromConfig () [0x00000] in <filename unknown>:0
  at System.Lazy`1[System.Web.Util.HttpEncoder].InitValue () [0x00000] in <filename unknown>:0

I could track these issue down to an too old XSP version. The issue can be solved by building XSP from the git repository. This was also the reason I couldn't upload the preview packages to the official repositories.

UPDATE2: I have updated the debian.meebey.net repository with Mono 3.0.6 packages. An upload to Debian/Experimental and Ubuntu/Raring will happen very soonish as promised. The final packages for official inclusion need updated copyright information and library versioning as defined in the Debian Policy and Debian CLI Policy. Have fun Mono 3.0.6ing!

Good news! Late in upstream!
Comment by CSRedRat Thu Nov 1 05:42:33 2012
:D
Comment by Alan Thu Nov 1 12:00:48 2012
Thanks! This is going to be very useful for us (7digital.com) eventually.
Comment by Andres G. Aragoneses (knocte) Thu Nov 1 12:25:11 2012

Thanks! I get this error when I load my ASP.Net MVC4 app. Do you have any idea why?

Could not load type 'System.Data.Entity.Migrations.Model.ColumnModel' from assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Thanks and Regards

Comment by Thanks Fri Nov 2 14:59:51 2012

After upgrading to these packages on Ubuntu 12.10, I was unable to run any of my ASP.NET applications using xsp4 (such as while developing with monodevelop 3.0).

When using monodevelop to "start without debugging" I would get a standard ASP.NET error page telling me that I needed to turn off custom errors in my web config in order to see what the actual error was. This persisted even when I turned off custom errors in my web.config.

When using monodevelop to "start with debugging" I immediately received an error saying monodevelop could not start the xsp4 server and I should check to see if it was installed.

When starting xsp4 by hand, it appeared to start correctly, however upon the first page hit I would get an exception thrown during the generation of the HttpException. The stack trace looked like it had not even touched my code yet, and was trying to generate and HttpException for the exception thrown generating and HttpException. I'm surprised that it wasn't an infinite loop of exception handling at that point.

I tested it against an app that I was currently serving fine using a fastcgi-server4 instance that was still running from before the upgrade. xsp4 under mono3 failed to serve the known-good app.

I have removed all the packages from your repository, commented out your repository from my apt.sources, and reinstalled mono-complete, mono-xsp4, monodevelop, and mono-fastcgi-server4 from Ubuntu 12.10 sources. Under this setup, xsp4 is working again.

Comment by Buddha Sun Nov 4 15:22:58 2012

Maybe I'm missing but this fails to install on Ubuntu 12.10.

``` ~ % sudo apt-get install mono-complete

The following packages have unmet dependencies: mono-complete : Depends: mono-runtime (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-runtime-sgen (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-utils (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-devel (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-mcs (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-gmcs (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-dmcs (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-csharp-shell (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-2.0-gac (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-4.0-gac (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-2.0-service (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: mono-4.0-service (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: monodoc-base (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: monodoc-manual (= 2.10.8.1-5ubuntu1) but it is not going to be installed Depends: libmono-cil-dev (= 2.10.8.1-5ubuntu1) but it is not going to be installed E: Unable to correct problems, you have held broken packages. ```

Comment by mark Mon Nov 5 05:51:53 2012
Hi - I would like to try out the preview packages, but would prefer to have access to the sources, too - and I cannot find those in your APT repository
Comment by Peder Chr. Nørgaard Thu Nov 8 10:55:10 2012
great work! but seems like there are no xsp4 and mono-fastcgi packages? I tried using your 3.0 packages plus xsp4 2.10-2.1 from ubuntu packages but I'm getting some weird errors...
Comment by axel Sun Nov 11 14:30:25 2012
Another Thanks from me.
Comment by Jarle Wed Nov 14 13:56:49 2012
Thanks, I wanted to try out Mono 3.0 and this helped me get going quickly.
Comment by Timothy Sat Nov 17 14:45:56 2012

Hi, In mono 2.8 I can run my application, but then install this version and now I'm getting this:

An exception has occurred while generating HttpException page: System.NullReferenceException: Object reference not set to an instance of an object at System.Web.Util.HttpEncoder.GetCustomEncoderFromConfig () [0x00000] in :0 at System.Lazy`1[System.Web.Util.HttpEncoder].InitValue () [0x00000] in :0

The actual exception which was being reported was: System.Web.HttpException: ---> System.NullReferenceException: Object reference not set to an instance of an object

... and other stuff

What can I do? Thanks in advance for help me.

Comment by Hipolito Lopez Thu Nov 22 03:51:02 2012

Thanks for doing all the work!

I second the request for source packages since I need to (try to) backport to Debian 6.0.

Again, thanks

Comment by thamsborg Thu Nov 29 08:47:55 2012

I have a similar problem on debian 6.0

root@debian1:/home/dan/loc# apt-get install mono-complete 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: mono-complete : Depends: mono-runtime (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-runtime-sgen (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-utils (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-devel (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-mcs (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-csharp-shell (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-2.0-gac (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-4.0-gac (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-2.0-service (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: mono-4.0-service (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: monodoc-base (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: monodoc-manual (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed Depends: libmono-cil-dev (= 3.0.1+dfsg-1~exp1~pre1) but it is not going to be installed E: Broken packages

Comment by Dan Thu Dec 20 11:01:03 2012
Thank for this, work flawlessly!
Comment by Xyro Thu Dec 20 13:18:38 2012

Hi,

Is there any chance you could release build scripts for 3.x ?

The trunk is updated regularly and it would be nice to make nightly builds for fixes etc..

Any hints, gotcha's would be appreciated.

Regards Andrew

Comment by Andrew Tierney Wed Jan 16 15:06:11 2013

It tells me at the end "E: Unable to correct problems, you have held broken packages. " what should I do,help please?

Comment by Mohamed Assem Tue Jan 22 06:51:49 2013
So where are 32-bit packages? I can see amd64 only for mono 3.0
Comment by xxxx Tue Jan 22 12:18:05 2013
Just wanted to echo Andrew comments, build scripts would be fantastic.
Comment by Peter Fri Jan 25 04:56:18 2013

Just upgraded to the 3.0.6 packages and get the following when trying to start any xsp4 web site. I may have some baggage left over from the previous 2.10.x install but so far haven't found it.

Missing method System.Configuration.IConfigurationSectionHandler::Create(object,object,XmlNode) in assembly /usr/lib/mono/4.0/System.dll, referenced in assembly /usr/lib/mono/4.0/System.Configuration.dll
Exception caught during reading the configuration file:
System.MissingMethodException: Method not found: 'System.Configuration.IConfigurationSectionHandler.Create'.
  at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationManager.get_AppSettings () [0x00000] in <filename unknown>:0 
  at Mono.WebServer.XSP.Server.get_AppSettings () [0x00000] in <filename unknown>:0 
  at Mono.WebServer.XSP.Server+ApplicationSettings..ctor () [0x00000] in <filename unknown>:0 
xsp4
Listening on address: 0.0.0.0
Root directory: /home/bmurphy/workspace
Error: System.TypeInitializationException: An exception was thrown by the type initializer for System.Net.Sockets.Socket ---> System.InvalidCastException: Cannot cast from source type to destination type.
  at System.Net.Sockets.Socket.CheckProtocolSupport () [0x00000] in <filename unknown>:0 
  at System.Net.Sockets.Socket..cctor () [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.WebServer.XSPWebSource.CreateSocket () [0x00000] in <filename unknown>:0 
  at Mono.WebServer.ApplicationServer.Start (Boolean bgThread) [0x00000] in <filename unknown>:0 
  at Mono.WebServer.ApplicationServer.Start (Boolean bgThread, System.Exception initialException) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) Mono.WebServer.ApplicationServer:Start (bool,System.Exception)
  at Mono.WebServer.XSP.Server.RealMain (System.String[] args, Boolean root, IApplicationHost ext_apphost, Boolean quiet) [0x00000] in <filename unknown>:0 
Comment by Bryan Murphy Thu Mar 14 22:42:35 2013
I'd like to build / get a 3.0.8 drop
Comment by Dan Shechter Tue Apr 9 10:55:18 2013

Any chance you could update these packages to Mono 3.0.9?

Alternatively, post the scripts to build the packages?

Comment by Ben Winkel Tue Apr 16 11:25:09 2013
Nice Thanks alot
Comment by Filip J. Fri May 3 11:46:01 2013
Worked fine (so far so good) on Ubuntu 12.10, thank you very much!
Comment by Nikolaos Georgiou Thu May 16 20:19:17 2013