Monday, December 22, 2008

My first taste of Mono on openSUSE 11.1

Verdict: not so tasty

I grabbed all the Mono packages via YaST and installed them without problems. I then fired up monodevelop in a terminal so I could watch for warnings and errors. I'm glad I did.

I won't bore you with screen shots of creating a simple 'Hello world' application. I will say that monodevelop is crashy. For example, without having created anything, I attempted to see what the Classes tab on the left side of the IDE would produce if opened. Normally it should be blank; that's what every other IDE in the known universe shows. Instead MonoDevelop crashed and exited. Hmmm...

After the second startup I created the simple 'Hello World' project as a console program with Gtk# extensions. I didn't add any other code. I then had the project build and run within the IDE. During that entire time I got a stream of error messages, such as the following sample:
ERROR [2008-12-22 10:49:57Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/gac/pango-sharp/2.12.0.0__35e10195dab3c99f/pango-sharp.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
ERROR [2008-12-22 10:49:57Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/gac/atk-sharp/2.12.0.0__35e10195dab3c99f/atk-sharp.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
ERROR [2008-12-22 10:49:58Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
ERROR [2008-12-22 10:50:01Z]: Mono.CompilerServices.SymbolWriter.MonoSymbolFileException: Cannot read symbol file `/usr/lib/mono/2.0/mscorlib.dll.mdb'
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.AssemblyDefinition assembly) [0x00000]
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.AssemblyDefinition assembly, System.String filename) [0x00000]
at Mono.Cecil.Mdb.MdbFactory.CreateReader (Mono.Cecil.ModuleDefinition module, System.String assembly) [0x00000]
at MonoDevelop.Projects.Parser.AssemblyInformation.Load (System.String fileName, Boolean nonLocking) [0x00000]
I think I'll stick with Java IDEs and emacs. Emacs especially if I want to develop C# on Linux, as MonoDevelop appears to be neither a good editor nor a good IDE. I had thought to install KDevelop, but it's available only built with Qt3/KDE3, and I want a native KDE 4 application, especially with KDevelop. I have half a mind to check out the subversion head and just build it locally. It's currently at alpha 5 release, so that may give me some more excitement.

1 comment:

  1. I'm sorry your MonoDevelop experience hasn't been great so far. I'm not aware of any reported crashers on 11.1, but if you get stack traces, could you please file bugs so that we can fix them?

    It's been a long time since MD 1.0 was released and in many ways the 2.0 alphas are more stable. I'm building MD trunk builds on the openSUSE Build Sevice, which should be relatively stable until 2.0 is formally released. There's even a 1-click install.

    You maybe also find that some problems are fixed by upgrading GTK# to 2.12.6 from the Mono repository.

    FWIW, the particular errors you've pasted in your post can safely be ignored. Various Mono debug files (.mdb) seem to be missing, but they aren't strictly needed for MD. Maybe the stock oS 11.1 has these in separate packages.

    ReplyDelete

All comments are checked. Comment SPAM will be blocked and deleted.

Note: Only a member of this blog may post a comment.