Link to home
Start Free TrialLog in
Avatar of camster123
camster123

asked on

How to repair latest broken Monodevelop build on Ubuntu Linux 14.04?

We purged mono-complete & monodevelop and followed the steps in this article:                                                    http://gettingsharper.de/2014/10/07/get-and-compile-the-latest-monodevelop-on-ubuntulinux. The makefile make process halts early complaining of "editor/GtkWorkarounds.cs(73,40): error CS0246: The type or namespace name `Gtk' could not be found.  

Here is the C# compiler command line used by the Monodevelop main folder Makefie

Target CoreCompile:
                        Tool /home/venkat/lib/mono/4.5/mcs.exe execution started with arguments: /noconfig /codepage:65001 /debug:full /debug+ /optimize- /out:obj/Debug/libstetic.dll /resource:obj/Debug/Stetic.stetic.glade,stetic.glade /resource:obj/Debug/Stetic.wrapper.objects.xml,objects.xml /resource:obj/Debug/Stetic.wrapper.pixmaps.accellabel.png,accellabel.png /resource:obj/Debug/Stetic.wrapper.pixmaps.actiongroup.png,actiongroup.png /resource:obj/Debug/Stetic.wrapper.pixmaps.add-check-label.png,add-check-label.png /resource:obj/Debug/Stetic.wrapper.pixmaps.add-menu.png,add-menu.png /resource:obj/Debug/Stetic.wrapper.pixmaps.alignment.png,alignment.png /resource:obj/Debug/Stetic.wrapper.pixmaps.arrow.png,arrow.png /resource:obj/Debug/Stetic.wrapper.pixmaps.box-expand.png,box-expand.png /resource:obj/Debug/Stetic.wrapper.pixmaps.box-fill.png,box-fill.png /resource:obj/Debug/Stetic.wrapper.pixmaps.button.png,button.png /resource:obj/Debug/Stetic.wrapper.pixmaps.calendar.png,calendar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.cell-expand-h.png,cell-expand-h.png /resource:obj/Debug/Stetic.wrapper.pixmaps.cell-expand-v.png,cell-expand-v.png /resource:obj/Debug/Stetic.wrapper.pixmaps.cell-fill-h.png,cell-fill-h.png /resource:obj/Debug/Stetic.wrapper.pixmaps.cell-fill-v.png,cell-fill-v.png /resource:obj/Debug/Stetic.wrapper.pixmaps.checkbutton.png,checkbutton.png /resource:obj/Debug/Stetic.wrapper.pixmaps.colorbutton.png,colorbutton.png /resource:obj/Debug/Stetic.wrapper.pixmaps.colorselection.png,colorselection.png /resource:obj/Debug/Stetic.wrapper.pixmaps.colorselectiondialog.png,colorselectiondialog.png /resource:obj/Debug/Stetic.wrapper.pixmaps.combo.png,combo.png /resource:obj/Debug/Stetic.wrapper.pixmaps.comboentry.png,comboentry.png /resource:obj/Debug/Stetic.wrapper.pixmaps.custom.png,custom.png /resource:obj/Debug/Stetic.wrapper.pixmaps.dec-border.png,dec-border.png /resource:obj/Debug/Stetic.wrapper.pixmaps.dialog.png,dialog.png /resource:obj/Debug/Stetic.wrapper.pixmaps.drawingarea.png,drawingarea.png /resource:obj/Debug/Stetic.wrapper.pixmaps.entry.png,entry.png /resource:obj/Debug/Stetic.wrapper.pixmaps.eventbox.png,eventbox.png /resource:obj/Debug/Stetic.wrapper.pixmaps.expander.png,expander.png /resource:obj/Debug/Stetic.wrapper.pixmaps.fileselection.png,fileselection.png /resource:obj/Debug/Stetic.wrapper.pixmaps.fixed.png,fixed.png /resource:obj/Debug/Stetic.wrapper.pixmaps.fontbutton.png,fontbutton.png /resource:obj/Debug/Stetic.wrapper.pixmaps.fontselection.png,fontselection.png /resource:obj/Debug/Stetic.wrapper.pixmaps.fontselectiondialog.png,fontselectiondialog.png /resource:obj/Debug/Stetic.wrapper.pixmaps.frame.png,frame.png /resource:obj/Debug/Stetic.wrapper.pixmaps.globe.png,globe.png /resource:obj/Debug/Stetic.wrapper.pixmaps.globe-not.png,globe-not.png /resource:obj/Debug/Stetic.wrapper.pixmaps.handlebox.png,handlebox.png /resource:obj/Debug/Stetic.wrapper.pixmaps.hbox.png,hbox.png /resource:obj/Debug/Stetic.wrapper.pixmaps.hbuttonbox.png,hbuttonbox.png /resource:obj/Debug/Stetic.wrapper.pixmaps.hpaned.png,hpaned.png /resource:obj/Debug/Stetic.wrapper.pixmaps.hscale.png,hscale.png /resource:obj/Debug/Stetic.wrapper.pixmaps.hscrollbar.png,hscrollbar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.hseparator.png,hseparator.png /resource:obj/Debug/Stetic.wrapper.pixmaps.iconview.png,iconview.png /resource:obj/Debug/Stetic.wrapper.pixmaps.image.png,image.png /resource:obj/Debug/Stetic.wrapper.pixmaps.inc-border.png,inc-border.png /resource:obj/Debug/Stetic.wrapper.pixmaps.label.png,label.png /resource:obj/Debug/Stetic.wrapper.pixmaps.menu.png,menu.png /resource:obj/Debug/Stetic.wrapper.pixmaps.menubar.png,menubar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.messagedialog.png,messagedialog.png /resource:obj/Debug/Stetic.wrapper.pixmaps.missing.png,missing.png /resource:obj/Debug/Stetic.wrapper.pixmaps.notebook.png,notebook.png /resource:obj/Debug/Stetic.wrapper.pixmaps.optionmenu.png,optionmenu.png /resource:obj/Debug/Stetic.wrapper.pixmaps.progressbar.png,progressbar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.radiobutton.png,radiobutton.png /resource:obj/Debug/Stetic.wrapper.pixmaps.remove-check-label.png,remove-check-label.png /resource:obj/Debug/Stetic.wrapper.pixmaps.remove-menu.png,remove-menu.png /resource:obj/Debug/Stetic.wrapper.pixmaps.scrolledwindow.png,scrolledwindow.png /resource:obj/Debug/Stetic.wrapper.pixmaps.spinbutton.png,spinbutton.png /resource:obj/Debug/Stetic.wrapper.pixmaps.statusbar.png,statusbar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.table.png,table.png /resource:obj/Debug/Stetic.wrapper.pixmaps.textview.png,textview.png /resource:obj/Debug/Stetic.wrapper.pixmaps.togglebutton.png,togglebutton.png /resource:obj/Debug/Stetic.wrapper.pixmaps.toolbar.png,toolbar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.treeview.png,treeview.png /resource:obj/Debug/Stetic.wrapper.pixmaps.vbox.png,vbox.png /resource:obj/Debug/Stetic.wrapper.pixmaps.vbuttonbox.png,vbuttonbox.png /resource:obj/Debug/Stetic.wrapper.pixmaps.viewport.png,viewport.png /resource:obj/Debug/Stetic.wrapper.pixmaps.vpaned.png,vpaned.png /resource:obj/Debug/Stetic.wrapper.pixmaps.vscale.png,vscale.png /resource:obj/Debug/Stetic.wrapper.pixmaps.vscrollbar.png,vscrollbar.png /resource:obj/Debug/Stetic.wrapper.pixmaps.vseparator.png,vseparator.png /resource:obj/Debug/Stetic.wrapper.pixmaps.widget.png,widget.png /resource:obj/Debug/Stetic.wrapper.pixmaps.window.png,window.png ClassDescriptor.cs Clipboard.cs CommandDescriptor.cs CustomWidget.cs DND.cs editor/Accelerator.cs editor/ActionGroupEditor.cs editor/ActionItem.cs editor/ActionMenu.cs editor/ActionMenuBar.cs editor/ActionMenuItem.cs editor/ActionToolbar.cs editor/ActionToolItem.cs editor/Boolean.cs editor/CellRendererComboBox.cs editor/Char.cs editor/Color.cs editor/DateTimeEditor.cs editor/EditIconDialog.cs editor/EditIconFactoryDialog.cs editor/Enumeration.cs editor/Flags.cs editor/FlagsSelectorDialog.cs editor/FloatRange.cs editor/GroupPicker.cs editor/IconList.cs editor/IconSelectorItem.cs editor/IconSelectorMenu.cs editor/IconSelectorMenuItem.cs editor/Identifier.cs editor/Image.cs editor/ImageFile.cs editor/ImageSelector.cs editor/IntRange.cs editor/NonContainerWarningDialog.cs editor/OptIntRange.cs editor/ProjectIconList.cs editor/ProjectIconSelectorItem.cs editor/ResponseId.cs editor/SelectIconDialog.cs editor/SelectImageDialog.cs editor/StockIconList.cs editor/StockIconSelectorItem.cs editor/StockItem.cs editor/String.cs editor/StringArray.cs editor/Text.cs editor/TextBox.cs editor/TextEditor.cs editor/TextEditorDialog.cs editor/ThemedIcon.cs editor/ThemedIconList.cs editor/TimeSpanEditor.cs editor/Translatable.cs editor/TreeViewCellContainer.cs editor/WidgetSelector.cs EnumDescriptor.cs ErrorWidget.cs GeneratorContext.cs GladeException.cs GladeUtils.cs IDesignArea.cs IEditableObject.cs ImageInfo.cs IProject.cs IPropertyEditor.cs IRadioGroupManager.cs IResourceProvider.cs ItemDescriptor.cs ItemGroup.cs ItemGroupCollection.cs NoGuiDispatchAttribute.cs ObjectReader.cs ObjectWrapper.cs ObjectWrapperEventHandler.cs ObjectWriter.cs ParamSpec.cs Placeholder.cs ProjectIconFactory.cs PropertyDescriptor.cs PropertyEditorAttribute.cs PropertyEditorCell.cs RadioGroupManager.cs Registry.cs Set.cs SignalDescriptor.cs TranslatableAttribute.cs TypedClassDescriptor.cs TypedPropertyDescriptor.cs TypedSignalDescriptor.cs undo/ActionDiffAdaptor.cs undo/DiffGenerator.cs undo/IDiffAdaptor.cs undo/UndoManager.cs undo/XmlDiffAdaptor.cs WidgetLibrary.cs WidgetUtils.cs wrapper/Action.cs wrapper/ActionGroup.cs wrapper/ActionToolbarWrapper.cs wrapper/ActionTree.cs wrapper/Bin.cs wrapper/Box.cs wrapper/Button.cs wrapper/ButtonBox.cs wrapper/CheckButton.cs wrapper/ColorButton.cs wrapper/ComboBox.cs wrapper/ComboBoxEntry.cs wrapper/Container.cs wrapper/Custom.cs wrapper/Dialog.cs wrapper/Entry.cs wrapper/Expander.cs wrapper/Fixed.cs wrapper/FontButton.cs wrapper/FontSelectionDialog.cs wrapper/Frame.cs wrapper/HScale.cs wrapper/HScrollbar.cs wrapper/IconView.cs wrapper/Image.cs wrapper/ImageMenuItem.cs wrapper/Label.cs wrapper/MenuBar.cs wrapper/MenuItem.cs wrapper/MessageDialog.cs wrapper/Misc.cs wrapper/Notebook.cs wrapper/Object.cs wrapper/OptionMenu.cs wrapper/Paned.cs wrapper/RadioActionGroupManager.cs wrapper/RadioButton.cs wrapper/RadioMenuItem.cs wrapper/RadioToolButton.cs wrapper/Range.cs wrapper/Scale.cs wrapper/ScrolledWindow.cs wrapper/Signal.cs wrapper/SignalChangedEventHandler.cs wrapper/SignalCollection.cs wrapper/SignalEventHandler.cs wrapper/SpinButton.cs wrapper/Table.cs wrapper/TextView.cs wrapper/ToggleToolButton.cs wrapper/Toolbar.cs wrapper/ToolButton.cs wrapper/TreeView.cs wrapper/Viewport.cs wrapper/VScale.cs wrapper/VScrollbar.cs wrapper/Widget.cs wrapper/WidgetEventHandler.cs wrapper/WidgetNameChangedHandler.cs wrapper/Window.cs TopLevelDialog.cs TopLevelWindow.cs wrapper/NotifyWorkaround.cs editor/GtkWorkarounds.cs /target:library /define:DEBUG /nowarn:1591;1573 /doc:../../../../build/AddIns/MonoDevelop.GtkCore/libstetic.xml /nostdlib /reference:/home/venkat/lib/mono/4.0/Mono.Posix.dll /reference:/home/venkat/lib/mono/4.0/System.dll /reference:/home/venkat/lib/mono/4.0/System.Xml.dll /reference:/home/venkat/lib/mono/4.0/Mono.Cairo.dll /reference:/home/venkat/lib/mono/4.0/System.Core.dll /reference:/home/venkat/lib/mono/4.0/mscorlib.dll /warn:4
I thiught we were missing an assembly reference" apparently because nuget restore does not fetch the correct GTK and GNOME libraries. Later, A Xamarin expert told me that gtk and gnome libraries are not on nuget So, you have to install them yourself.
  Then  we installed the gtk and gnome libraries using sudo apt-get install gnome-devel and ran ./configure --profile=stable on monodevelop and generated a Makefile which contains a section called GTK_SHARP_LIBS which references libraries on the desktop. When the Makefile hits the Target CoreCompile section it tries to compile C# source files which use the gtk-sharp assembly. Apparently , In the main Monodevelop makefile, the compilation of C# source files which use the gtk-sharp assembly does not explicitly reference the gtk-sharp assembly. Is there a way to repair that?
Any help is greatly appreciated.
Avatar of Karrtik Iyer
Karrtik Iyer
Flag of India image

I am trying it again, shall let you know how it goes.
Hi Frank,
I was able to successfully build mondevelop package from source (using git clone) on ubuntu 15.04 version VM. Here are the steps that I followed.
1. First I installed mono from source using below instructions:
1. a. http://www.mono-project.com/docs/getting-started/install/linux/#usage
2. http://www.mono-project.com/docs/compiling-mono/linux/ ( I used the option build mono from source)
3. Then I started with monodevelop build from source. i used the instructions given in below link:
https://github.com/mono/monodevelop
4. I got few errors while building monodevelop and here is how i resolved the errors.
5. I had to install cmake, lib-ssh2, zlib packages.
6. Also I fulfilled the following dependencies required for monodevelop to be built from source. These dependencies are mentioned in the monodevelop git page (https://github.com/mono/monodevelop#dependencies)
Dependencies

Mono >= 3.0.4
Gtk# >= 2.12.8
monodoc >= 1.0
mono-addins >= 0.6
cmake (Linux only for git support)
libssh2 (Linux only for git support)
Avatar of camster123
camster123

ASKER

Karrtik Iyer,
         Thank you for your solution today.   Please tell me the exact steps you used to install the following dependencies:

Mono >= 3.0.4
 Gtk# >= 2.12.8
 monodoc >= 1.0
 mono-addins >= 0.6
 cmake (Linux only for git support)
 libssh2 (Linux only for git support)

Also , specifically how did you solve the  "editor/GtkWorkarounds.cs(73,40): error CS0246: The type or namespace name `Gtk' could not be found.   where there might be a missing assembly reference to gtk-sharp.dll? Thank you.
ASKER CERTIFIED SOLUTION
Avatar of Karrtik Iyer
Karrtik Iyer
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Karrthik Iyer, This solution was very accurate , complete and helpful to me and others in the same boat.
 Thank you.
      Frank