GNOME Bugzilla – Bug 602589
Unable to build on openSUSE 11.0
Last modified: 2009-12-16 19:33:05 UTC
It seems the gtk-sharp2 shipped on openSUSE 11.0 is too old: Making all in Hyena.Gui MCS ../../../bin/Hyena.Gui.dll ./Hyena.Data.Gui/Accessibility/ColumnCellAccessible.cs(48,41): error CS0115: `Hyena.Data.Gui.Accessibility.ColumnCellAccessible.OnRefStateSet()' is marked as an override but no suitable method found to override ./Hyena.Data.Gui/Accessibility/ColumnCellAccessible.cs(72,32): error CS0115: `Hyena.Data.Gui.Accessibility.ColumnCellAccessible.OnGetIndexInParent()' is marked as an override but no suitable method found to override ./Hyena.Data.Gui/Accessibility/ColumnHeaderCellTextAccessible.cs(51,41): error CS0115: `Hyena.Data.Gui.Accessibility.ColumnHeaderCellTextAccessible.OnRefStateSet()' is marked as an override but no suitable method found to override ./Hyena.Gui/BaseWidgetAccessible.cs(59,41): error CS0115: `Hyena.Gui.BaseWidgetAccessible.OnRefStateSet()' is marked as an override but no suitable method found to override ./Hyena.Data.Gui/Accessibility/ListViewAccessible.cs(66,41): error CS0115: `Hyena.Data.Gui.Accessibility.ListViewAccessible<T>.OnRefStateSet()' is marked as an override but no suitable method found to override ./Hyena.Data.Gui/Accessibility/ListViewAccessible.cs(74,32): error CS0115: `Hyena.Data.Gui.Accessibility.ListViewAccessible<T>.OnGetIndexInParent()' is marked as an override but no suitable method found to override
Moving to BLOCKER - we will not make another release that is not tested on the following era Linux platforms: openSUSE 11.0 openSUSE 11.1 openSUSE 11.2 I am likely opposed to bundling the latest gtk-sharp-2.0.
We can probably solve this by detecting the gtk# version at build time and #if'ing things out. Another approach that might work is to not bundle a newer gtk-sharp-2.0, but link a newer gtk-sharp2 package into the Banshee OBS repo, from Mono:Community or something similar.
I'm not sure why we need the Gtk# features at all here. I would prefer p/invoke to introducing conditional compilation.
The error in the openSUSE 11.1 build log is different, not a11y related : MCS ../../../bin/Banshee.ThickClient.dll ./Banshee.Gui/GtkBaseClient.cs(124,25): error CS0117: `GLib.Global' does not contain a definition for `ApplicationName' /usr/lib/mono/gac/glib-sharp/2.12.0.0__35e10195dab3c99f/glib-sharp.dll (Location of the symbol related to previous error) Compilation failed: 1 error(s), 0 warnings
Created attachment 148245 [details] [review] Don't use ApplicationName if glib-sharp is not recent enough This patch checks if glib-sharp is recent enough to have GLib.Global.ApplicationName. If it's not, don't set ApplicationName, as was the case before. Please tell me if this is the right approach, and if it indeed fixes the build on openSUSE 11.1.
Review of attachment 148245 [details] [review]: Looks fine to me.
I fixed the a11y-related build issues in 11.0.