Banshee 2.6.0 compile error

Hi again,

I have a problem with the Banshee port that I hoped would solve itself with the next Banshee upgrade. But there wasn't any since the last Mono upgrade. Which, in my opinion, broke Banshee again?

When trying to build Banshee it stops here:

Code:
./Hyena.Data.Gui/ColumnCellText.cs(115,29): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
error CS1705: Assembly `gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f' references `Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' which has a higher version number than imported assembly `Mono.Cairo, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
./Hyena.Data.Gui/ListView/ListView_Rendering.cs(53,53): error CS0012: The type `Cairo.Context' is defined in an assembly that is not referenced. Consider adding a reference to assembly `Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
./Hyena.Data.Gui/ListView/ListView_Rendering.cs(238,31): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Data.Gui/ListView/ListView_Rendering.cs(393,31): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Data.Gui/ListView/ListView_Rendering.cs(451,31): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Data.Gui/ListView/ListView_Rendering.cs(486,27): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Data.Gui/ListView/ListView_Rendering.cs(494,27): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Data.Gui/ListViewTestModule.cs(243,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Data.Gui/ListViewTestModule.cs(255,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/Brush.cs(67,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/CanvasHost.cs(153,24): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/Prelight.cs(47,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Canvas/Prelight.cs(50,18): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Gui.Canvas/ShadowMarginStyle.cs(69,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/Slider.cs(156,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/Slider.cs(172,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Canvas/Slider.cs(175,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/TestTile.cs(58,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Canvas/TextBlock.cs(220,22): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Gui.Theming/GtkTheme.cs(94,27): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Theming/GtkTheme.cs(97,18): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Gui.Theming/GtkTheme.cs(100,27): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(137,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(139,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(155,20): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Theming/GtkTheme.cs(157,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(196,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(199,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(224,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Theming/GtkTheme.cs(227,18): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Gui.Theming/GtkTheme.cs(243,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Theming/GtkTheme.cs(247,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(250,18): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Gui.Theming/GtkTheme.cs(265,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(278,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(300,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(305,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(316,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(325,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(349,24): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(362,24): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Gui.Theming/GtkTheme.cs(369,26): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Gui.Theming/GtkTheme.cs(375,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(383,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui.Theming/GtkTheme.cs(392,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui/CairoDamageDebugger.cs(52,16): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui/CairoExtensions.cs(70,34): warning CS0618: `Cairo.Context.Target' is obsolete: `Use GetTarget/SetTarget'
./Hyena.Gui/CairoExtensions.cs(70,59): warning CS0618: `Cairo.Context.Target' is obsolete: `Use GetTarget/SetTarget'
./Hyena.Gui/CairoExtensions.cs(322,30): warning CS0618: `Cairo.Context.Target' is obsolete: `Use GetTarget/SetTarget'
./Hyena.Gui/RatingRenderer.cs(96,28): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui/RatingRenderer.cs(98,28): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui/RatingRenderer.cs(102,24): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui/ShadingTestWindow.cs(61,24): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Gui/ShadingTestWindow.cs(71,24): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Widgets/PulsingButton.cs(107,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/PulsingButton.cs(109,18): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(336,16): warning CS0618: `Cairo.Context.Source' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(351,20): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(361,22): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(376,17): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(391,15): warning CS0618: `Cairo.Surface.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(415,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(417,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(417,24): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(424,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(426,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(426,24): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(443,20): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(448,20): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(455,16): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(458,20): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(459,27): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(460,26): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(493,20): warning CS0618: `Cairo.Context.Pattern' is obsolete: `Use GetSource/GetSource'
./Hyena.Widgets/SegmentedBar.cs(495,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Widgets/SegmentedBar.cs(497,22): warning CS0618: `Cairo.Pattern.Destroy()' is obsolete: `Use Dispose()'
./Hyena.Widgets/SegmentedBar.cs(508,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
./Hyena.Widgets/SegmentedBar.cs(517,20): warning CS0618: `Cairo.Context.Color' is obsolete: `Use SetSourceRGBA method'
Compilation failed: 2 error(s), 77 warnings
gmake[4]: *** [../../../bin/Hyena.Gui.dll] Error 1
gmake[3]: *** [all-recursive] Error 1
gmake[2]: *** [all-recursive] Error 1
gmake[1]: *** [all-recursive] Error 1
gmake: *** [all] Error 2

The complete build log is attached (it's gzip'ed since it is 1k 1 KB too large). I already tried MAKE_JOBS_UNSAFE, autoreconf, rebuilding all mono and mono related packages. As well as gdk-sharp.

I only found one other unanswered thread in some mailing list. But I cannot imagine I'm the only one with this problem?

Hope somebody has a clue what is wrong here?

Cheers,
Stefan
 

Attachments

Howdy.

I have cairo-1.10.2_5,2 installed. Reinstalled it again and it didn't help. What I recognized is that it stopped compiling after the latest bigger Mono upgrade. But as I told recompiling everything Mono didn't help.

Cheers,
Stefan
 
Have you tried contacting the port maintainer? It might be something that needs to be fixed upstream.
 
That would be my next step. I first wanted to make sure there is no easy fix. I guess now is a good time to do this. ;)

Cheers,
Stefan
 
I might add that Banshee is the most classical music friendly player that I've been able to find----simply in that it can display 'Composer' and 'Grouping' columns, and can arrange tracks with respect to these tags.

So until it's fixed, could anyone suggest another player which can do the same?
 
Well, I wrote the maintainer several times but no answer. So I kind of fixed it myself.

Until now it's just a dirty hack but it works-for-me (TM). But I am talking to the freebsd-hackers list to make this a real patch for the Banshee port. Maybe somebody with the same errors likes to test this? It works for me, if I do the following:
  1. copy the patch to /usr/ports/multimedia/banshee/files/patch-sdk4:

    Code:
    $FreeBSD$
    
    --- src/Backends/Banshee.Osx/Makefile.in
    +++ src/Backends/Banshee.Osx/Makefile.in
    @@ -416,7 +416,7 @@ top_build_prefix = @top_build_prefix@
     top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
     ASSEMBLY = Banshee.Osx
    -ASSEMBLY_BUILD_FLAGS = -unsafe
    +ASSEMBLY_BUILD_FLAGS = -unsafe -sdk:4
     TARGET = library
     LINK = $(REF_BACKEND_OSX) $(am__append_1)
     INSTALL_DIR = $(BACKENDS_INSTALL_DIR)
    --- src/Core/Banshee.ThickClient/Makefile.in
    +++ src/Core/Banshee.ThickClient/Makefile.in
    @@ -417,7 +417,7 @@ top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
     ASSEMBLY = Banshee.ThickClient
     TARGET = library
    -ASSEMBLY_BUILD_FLAGS = -unsafe
    +ASSEMBLY_BUILD_FLAGS = -unsafe -sdk:4
     LINK = $(REF_BANSHEE_THICKCLIENT) $(am__append_1)
     SOURCES = \
            Banshee.Addins.Gui/AddinView.cs \
    --- src/Core/Banshee.Widgets/Makefile.in
    +++ src/Core/Banshee.Widgets/Makefile.in
    @@ -417,7 +417,7 @@ top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
     ASSEMBLY = Banshee.Widgets
     TARGET = library
    -ASSEMBLY_BUILD_FLAGS = -unsafe
    +ASSEMBLY_BUILD_FLAGS = -unsafe -sdk:4
     LINK = $(REF_BANSHEE_WIDGETS) $(am__append_1)
     SOURCES = \
            Banshee.Widgets/CustomActionProxy.cs \
    --- src/Hyena/Hyena.Gui/Makefile.in
    +++ src/Hyena/Hyena.Gui/Makefile.in
    @@ -416,7 +416,7 @@ top_build_prefix = @top_build_prefix@
     top_builddir = @top_builddir@
     top_srcdir = @top_srcdir@
     ASSEMBLY = Hyena.Gui
    -ASSEMBLY_BUILD_FLAGS = -unsafe
    +ASSEMBLY_BUILD_FLAGS = -unsafe -sdk:4
     TARGET = library
     LINK = -r:ICSharpCode.SharpZipLib -r:Mono.Posix -r:System \
            -r:System.Core -r:Mono.Cairo $(GTKSHARP_LIBS) \
    I didn't find the attachment button so please copy the above to the file yourself (with the blank line on top - I don't know if this a necessary but I found this in other patches).
  2. export a variable:
    Code:
    export ASSEMBLY_BUILD_FLAGS="-unsafe -sdk:4"
  3. do a make clean install (or make clean reinstall) in the Banshee ports directory.
I hope that works for somebody else.

Cheers,
Stefan
 
Back
Top