Installing MonoDevelop 1.0 on Suse 10.3

April 5, 2008 at 11:24 pm 11 comments

MonoDevelop 1.0 has finally been release on March 14, 2008. I figured that I’ll install the MonoDevelop since I like an IDE that will do stuff like autocomplete and because Yast should also include all of the dependent components.

I have heard of numerous problems with installing MonoDevelop on linux distros because a package were not available. I was expecting Novell to make certain that MonoDevelop would install smoothly on Suse 10.3. While installation were far easier on Suse than on other distros, it still was not trouble-free.

The following are instructions on how to install MonoDevelop 1.0 on Suse 10.3. Note that I was installing on a virtual machine, but installation for a real machine should be exactly the same.

Adding the Mono Repository

The first step is to add the Mono distro to Yast, so that the package will appear in the package selector.

  1. In Suse 10.3, launch Yast. You will be prompted to enter the root password. Enter the password and press OK.
  2. Click on Software Repositories in Yast. Click on the Add button. Select the option “Specify URL” and press Next. Enter the name of the repository of “Mono Repository” and the URL to “http://www.go-mono.com/download-stable/suse-103-i586” and the press Next.
  3. Press Finish. You will be prompted to sign with untrusted public key. Press Trust and Import key. The Software Repository window will close.

Installing MonoDevelop

Now that the Mono repository has been added to Yast, we can install the MonoDevelop package. This is where the troubles begin. Gnome and Banshee both use an older version of Mono library that was installed by default by Suse. When you attempt to install a new version of Mono, Yast doesn’t like it because you are changing the packages that Gnome and Banshee depend on. The trick is to tell Yast to ignore the dependencies since the library should be backwards compatible (“should” but who knows).

  1. Click on the Software Management in Yast. This brings up package selector.Yast Package Selector
  2. Type “monodevelop” in the search. This brings up MonoDevelop on the left pane.
  3. Select Monodevelop and press Install. This move MonoDevelop to the right pane.
  4. Press the Accept button. A change summary window will displaying dependencies.
  5. Press the Confirm button. A resolve window appears, it will warned you that mono-nunit cannot be installed due to missing dependencies. The problem is that mono-nunit wants a later version of mono-core than the one installed by default by Suse 10.3.Monodevelop first resolve
  6. Click on “Install mono-core although it would change the vendor” and press confirm. You are changing vendors because you are now getting it from the go-mono.com instead of Novell. Now another resolve window pops up. This time it warns that gnome_multimedia, banshee-engine-gst, banshee, banshee-plugins-default, and banshee-plugins-DAAP has missing dependencies. This is because Banshee and gnome-multimedia uses mono-core and you are installing a new version of mono-core.
  7. Select “Ignore this requirement just here” for each conflict and press Confirm. Selecting the other option and you may find Banshee deleted!

Unfortunately, we are not home free, when I launch MonoDevelop and create a new project, I get the following error:

Exception occurred: Exception has been thrown by the target of an invocation.

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.TypeInitializationException: An exception was thrown by the type initializer for MonoDevelop.SourceEditor.Gui.SourceEditorDisplayBinding —> System.DllNotFoundException: libgtksourceview-1.0.so.0
at (wrapper managed-to-native) GtkSourceView.SourceTagTable:gtk_source_tag_table_get_type ()
at GtkSourceView.SourceTagTable.get_GType () [0x00000]
at GtkSharp.GtksourceviewSharp.ObjectManager.Initialize () [0x00000]
at GtkSourceView.GtkSourceViewManager.Init () [0x00000]
at MonoDevelop.SourceEditor.Gui.SourceEditorDisplayBinding..cctor () [0x00000] — End of inner exception stack trace —

at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (object,object[])
at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] — End of inner exception stack trace —

at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]
at System.Reflection.ConstructorInfo.Invoke (System.Object[] parameters) [0x00000]
at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000]
at System.Activator.CreateInstance (System.Type type) [0x00000]
at Mono.Addins.TypeExtensionNode.CreateInstance () [0x00000]
at Mono.Addins.InstanceExtensionNode.GetInstance () [0x00000]
at MonoDevelop.Ide.Codons.DisplayBindingCodon.get_DisplayBinding () [0x00000]
at MonoDevelop.Ide.Gui.DisplayBindingService.GetCodonPerFileName (System.String filename) [0x00000]
at MonoDevelop.Ide.Gui.DisplayBindingService.GetBindingPerFileName (System.String filename) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.RealOpenFile (System.Object openFileInfo) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName, Int32 line, Int32 column, Boolean bringToFront, System.String encoding, IDisplayBinding binding) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName, Int32 line, Int32 column, Boolean bringToFront) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName, Boolean bringToFront) [0x00000]
at MonoDevelop.Ide.Gui.Workbench.OpenDocument (System.String fileName) [0x00000]
at MonoDevelop.Ide.Templates.OpenFileAction.Run (MonoDevelop.Projects.ProjectCreateInformation projectCreateInformation) [0x00000]
at MonoDevelop.Ide.Templates.ProjectTemplate.OpenCreatedCombine () [0x00000]
at MonoDevelop.Ide.Gui.Dialogs.NewProjectDialog.OpenEvent (System.Object sender, System.EventArgs e) [0x00000]
at GLib.Signal.voidObjectCallback (IntPtr handle, IntPtr gch) [0x00000]

Fixing the dependency issue

A quick search through the google reveal this bug. What seemed to be happening is that an exception is thrown when MonoDevelop attempts to display your code using gtksourceview. Apparently, gtksourceview-2.0.0-5 can not be use in place of gtksourceview18-1.8.5-16. To fix this, do the following:

  1. Make sure you have the Suse Disc in the drive, since gtksourceview18 is on the disc. Launch Yast.
  2. Click on Software Management. This launches the Package Selector.
  3. Type in gtksourceview18.
  4. Select gtksourceview18 and press Install, and then accept.
  5. Click confirm on Change summary window.
  6. When prompted to install or remove more packages, press No.

With gtksourceview18 installed, Monodevelop seems to work now. Banshee still seems to work just fine. Hopefully, the next version of MonoDevelop will be less painful to install.

Problems with Help

When I select Help, I get the following error: “The help window can’t be shown. Monodoc v1.2.3 is not installed or could not be found.”. Apparently, Monodoc is not installed and it wasn’t obvious which package in Yast it was. After some experimentation, I discovered it was the package mono-tools.

  1. Launch Yast and select Software Management.
  2. Type in mono-tools in the search, select mono-tools and click install.

Additional Problems

Unfortunately, there are additional problems that still needs to be resolved:

  • When I toggle the bookmark on my editor, I get the following exception:exception occurred: libglib-2.0.so

    System.DllNotFoundException: libglib-2.0.so
    at (wrapper managed-to-native) MonoDevelop.SourceEditor.Gui.SourceEditorBuffer:g_slist_free (intptr)
    at MonoDevelop.SourceEditor.Gui.SourceEditorBuffer.ToggleMark (Int32 linenum, SourceMarkerType type) [0x00000]
    at MonoDevelop.SourceEditor.Gui.SourceEditorBuffer.ToggleBookmark (Int32 linenum) [0x00000]
    at MonoDevelop.SourceEditor.Gui.SourceEditorView.OnButtonPressEvent (Gdk.EventButton e) [0x00000]
    at Gtk.Widget.buttonpressevent_cb (IntPtr widget, IntPtr evnt) [0x00000]

Advertisements

Entry filed under: linux, Mono, suse. Tags: , , .

Turning off Auto-login in Suse 10.3 Using Subversion source control with MonoDevelop

11 Comments Add your own

  • 1. daniel  |  April 6, 2008 at 3:51 am

    I am going through the same issues. Although I am not using a virtual machine.

    I agree the number of hoops to jump through are a pain

    Reply
  • 2. R.Rush  |  June 26, 2008 at 11:08 am

    There is a VMWare virtual machine image of openSUSE 10.3 with Mono 1.9.1 preinstalled at the Mono Projects download page. The VMWare Player, required to boot and run the virtual machine and OS, is absolutely free for Windows, Linux, and other OS’s like Mac OS X.

    The VMWare image works flawlessly. MonoDevelop opens and builds as well as executes VS2008 Solutions. I had also taken a little test application I created in C# Express 2008, on Windows of course, and copied the executable assembly to the openSUSE desktop. When I double clicked the executable the application fired up with all the control components intact. It definitely needed some tweaking but, the difficult part of portability was fading in the rear view.

    I myself am running openSUSE 11 in VMWare Workstation Ace Edition along side the openSUSE 10.3 – Mono 1.9.1VMWare image. As a matter of fact I am posting this response from within my openSUSE 11VMWare image. I am definitely about ready to perform forensics on the 10.3 release to see just what it is that I am missing here and try to obtain a game plan for an operable installation of Mono on SUSE 11.

    I have noticed that the dependencies seem to run ‘ round robin’ between packages and at some point the dependencies become regressive, taking you back around full circle. It is quite annoying to say the least.

    Anyhow, in closing, I have managed to get MonoDevelop up and running as well as building, executing VS2008 solutions, and also creating solutions native to MonoDevelop in SUSE 11. What I have not been able to do yet is to activate a binary created in VS2008 C# via double click in SUSE 11 and this is perplexing me.

    The mono tools package is the only package that I do not currently have installed due to a regressive package dependency and I am missing an add-in that is not entirely critical. Somewhere here-in lies my problem.

    Word to the wise: do not mix and match repos unless you abso-smurfly know what it is that you are doing. I have about three mono repos right now and I even used the ‘one-click’ install at the openSUSE software site. Needless to say I wound up doing house cleaning learning by trial and stupidity.

    Reply
  • 3. know  |  April 8, 2009 at 2:35 pm

    send me

    Reply
  • 4. hot girl pillow humping  |  June 11, 2013 at 10:01 pm

    Thank you for the good writeup. It in fact was a amusement account it.
    Look advanced to far added agreeable from you! By the way,
    how can we communicate?

    Reply
  • 5. hack top eleven  |  October 8, 2013 at 6:19 pm

    Spot on with this write-up, I actually believe this amazinjg
    site needs a lot more attention. I’ll probably be returning to read more, thanks for the information!

    Reply
  • 6. Blogging  |  October 18, 2013 at 2:44 pm

    As a result, your blog link will be in the path of the
    spider, enabling your new blog to be spidered more frequently.

    After the ads have been up a few days, though, the ads will switch to ads
    that are relevant to your blog. I share what my partner says every time
    he directs or choreographs a show: “If it comes from the heart, it will touch the heart.

    Reply
  • 7. Lucio  |  November 2, 2013 at 3:30 am

    Great information. Lucky me I found your blog bby accident (stumbleupon).
    I have bookmarked it for later!

    Reply
  • 8. Israel  |  November 2, 2013 at 6:28 pm

    Unquestionably imagine that that you said. Your favourite reason appeared to be at the net the easiest factor to take into accout of. I say to you, I definitely get annoyed whilst other people think about worries that they just do not understand about. You managed to hit the nail upon the highest and also outlined out the whole thing without having side effect , other people can take a signal. Will likely be back to get more. Thanks

    Reply
  • 9. heroes of the storm download  |  November 20, 2013 at 10:48 am

    I visited various sites but the audio quality for audio songs current at this web page is genuinely fabulous.

    Reply
  • 10. dota2hack.org  |  October 8, 2015 at 1:45 pm

    Hello I’m not sure whether it’s me or maybe your web site but it’s loading undoubtedly
    slow , it took me like a minute to successfully load
    up although digg operates perfectly to me. However thanks for posting fantastic articles.
    Perhaps it has been beneficial to a lot of people . This is undoubtedly excellent everything that you have done in this article
    and want to see a lot more posts from your website. I already have your site saved to my bookmarks to check blogs you publish.

    Reply
  • 11. www.gta5wii.com  |  April 10, 2016 at 7:28 am

    Hello Google and yahoo performs well yet your website is starting slowly which
    actually had taken close to a minute to load
    up, I am not sure whether it is my own issue or your site problems.

    Well, Thanks for publishing an incredibly great
    blog post. I assume it has already been beneficial
    to lots of people who arrived here. I am hoping I’ll be able to get further amazing content and
    I should certainly complement by saying you have done amazing
    work. To get additional knowledge by posts that you
    publish, I’ve added this website.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

April 2008
M T W T F S S
« Feb   May »
 123456
78910111213
14151617181920
21222324252627
282930  

Most Recent Posts


%d bloggers like this: