After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 640126 - Build failure on Windows
Build failure on Windows
Status: RESOLVED NOTABUG
Product: banshee
Classification: Other
Component: general
unspecified
Other Windows
: Normal critical
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-01-20 23:45 UTC by Matt Sturgeon
Modified: 2011-02-01 00:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Build Log for Banshee git-master on Windows (134.41 KB, text/plain)
2011-01-20 23:45 UTC, Matt Sturgeon
Details
Build Log for patched Banshee on Windows (81.36 KB, text/plain)
2011-01-21 00:12 UTC, Matt Sturgeon
Details
Build log of patched banshee - building banshee not nereid (87.70 KB, text/plain)
2011-01-22 10:50 UTC, Matt Sturgeon
Details
A list of broken References. Incomplete reference locations. (2.34 KB, text/plain)
2011-01-22 16:39 UTC, Matt Sturgeon
Details
Fixed Muinshee.csproj. (6.24 KB, application/octet-stream)
2011-01-22 17:14 UTC, Matt Sturgeon
Details
Still broken Banshee.ThickClient.csproj. (17.78 KB, application/octet-stream)
2011-01-22 17:16 UTC, Matt Sturgeon
Details
Build Log of patched banshee - with manual reference corrections to all-but "Extentions" (100.47 KB, text/plain)
2011-01-22 17:31 UTC, Matt Sturgeon
Details

Description Matt Sturgeon 2011-01-20 23:45:07 UTC
Created attachment 178901 [details]
Build Log for Banshee git-master on Windows

Hi.

I today attempted another build of banshee on Windows, in MonoDevelop, using a fully updated version of the snapshot provided on http://banshee.fm/download/development/#windows .
Again I experienced a build failure and I will attach my build log to this bug.

I expect that most/all the errors are due to Bug 639808 "Remove Package elements from Reference elements in csproj files".
Comment 1 Matt Sturgeon 2011-01-21 00:12:19 UTC
Created attachment 178903 [details]
Build Log for patched Banshee on Windows

Strangely, after applying 0001-Remove-all-Package-elements-from-project-references.patch from Bug 639808, I still had a build failure, and was 10 Warnings down (6 left) - but still 194 Errors. Attached is an build log for the patched branch.
Comment 2 Dustin C. Hatch 2011-01-21 07:34:46 UTC
(In reply to comment #1)
> Created an attachment (id=178903) [details]
> Build Log for patched Banshee on Windows
> 
> Strangely, after applying
> 0001-Remove-all-Package-elements-from-project-references.patch from Bug 639808,
> I still had a build failure, and was 10 Warnings down (6 left) - but still 194
> Errors. Attached is an build log for the patched branch.

That's interesting. Can you check the references nodes in the solution explorer and see which assemblies are shown as missing?
Comment 3 Matt Sturgeon 2011-01-22 08:31:15 UTC
One sec, i'll just boot into windows, try again and have a look..
Comment 4 Matt Sturgeon 2011-01-22 08:48:44 UTC
Sorry - I cant find a "Solution Explorer" anywhere in MonoDevelop...
Comment 5 Matt Sturgeon 2011-01-22 09:04:30 UTC
Well, I've noticed one thing. On the patched build, all errors seem to be "error CS0246", and there is more variety in the six warnings.
Comment 6 Matt Sturgeon 2011-01-22 09:08:13 UTC
I removed " - due to Bug 639808?" since applying the patch from that bug affects only 10 warnings (of 16) and no errors (194).
Comment 7 Matt Sturgeon 2011-01-22 10:50:41 UTC
Created attachment 179027 [details]
Build log of patched banshee - building banshee not nereid

I noticed that for some reason I was building "Nereid" instead of "Banshee", and when I corrected to building the entire solution, I encountered 213 Errors and 10 Warnings (with the patch), as opposed to 195 Errors and 6 Warnings building only part before.

Attached is a build log of my patched branch building the entire solution (well, windows configuration anyway).
Comment 8 Dustin C. Hatch 2011-01-22 15:57:57 UTC
(In reply to comment #4)
> Sorry - I cant find a "Solution Explorer" anywhere in MonoDevelop...

It's the tree at the left that lists all of the projects and files.

Your build log seems to indicate that it can't find GTK#. Obviously, you have it, since you are in MonoDevelop, so the problem is a bit more subtle. Please check the references for a couple of projects and let me know which ones it says are missing. Specifically, check Nereid, Banshee.Widgets, and Banshee.ThickClient.
Comment 9 Matt Sturgeon 2011-01-22 16:39:57 UTC
Created attachment 179044 [details]
A list of broken References. Incomplete reference locations.

Ok,

I have just spent ages going through the references in Solution Explorer. Frankly - I gave up, but I think I got down all the reference names that had errors - I just couldn't complete the task of listing all the locations those references were made with error.

See the attachment for a list of "broken" references with some of their locations adjacent.
Comment 10 Matt Sturgeon 2011-01-22 16:45:07 UTC
Basically, every part of the solution had reference errors - mainly atk-sharp, gdk-sharp, glib-sharp and gtk-sharp - but also others -- see attachment.
Comment 11 Andrés G. Aragoneses (IRC: knocte) 2011-01-22 16:46:38 UTC
Guys, FYI newer versions of Mono would help with this problem, as the C# compiler has been made more strict wrt references (see https://bugzilla.novell.com/show_bug.cgi?id=543537 ).

This way, it's just a matter to make Banshee build in Linux with this new version of Mono (not sure if Mono 2.10 incorporates this fix), commit the build fixes, and hopefully the Windows build will be in better health.
Comment 12 Dustin C. Hatch 2011-01-22 16:49:46 UTC
(In reply to comment #9)
> I have just spent ages going through the references in Solution Explorer.
> Frankly - I gave up, but I think I got down all the reference names that had
> errors - I just couldn't complete the task of listing all the locations those
> references were made with error.
> 
I think you gave enough. I think if its broken for one it will be broken for them all.

> See the attachment for a list of "broken" references with some of their
> locations adjacent.

The first group are as I expected; MonoDevelop can't find GTS# or GStreamer#. Try this and report what you find:

1. Right-click the "References" folder for one of the projects and choose "Edit References"
2. Scroll through the list on the "Packages" tab and look for the missing references. Tick the checkboxes of the ones you find
3. Remove the broken references from the list at the bottom. I think they turn red, so you can just click them and click the "-" button

Regardless of whether that works, please post one of your csproj files so I can look at it and see what the differences are.
Comment 13 Matt Sturgeon 2011-01-22 16:57:18 UTC
Ok,

That work's a treat for individual ones, but there's millions to do, all in separate References sections...

Is this something wrong with the trunk branch, or something more individualized, and impossible to patch?
Comment 14 Dustin C. Hatch 2011-01-22 16:58:19 UTC
(In reply to comment #13)
> Ok,
> 
> That work's a treat for individual ones, but there's millions to do, all in
> separate References sections...
> 
> Is this something wrong with the trunk branch, or something more
> individualized, and impossible to patch?

I'm not sure; please post your modified csproj file so I can see what was changed. Perhaps a patch is possible, depending on what it was.
Comment 15 Matt Sturgeon 2011-01-22 17:03:54 UTC
Ok - something I noticed:

All the broken references have no metadata - the broken ones had a location of "gtk-sharp", whereas the manually added/working ones have version information, "Culture" a "PublicKeyToken"...
Comment 16 Matt Sturgeon 2011-01-22 17:06:20 UTC
I cant see a "csproj" file - only "Banshee.sln" and "Banshee.userprefs" (Banshee.userprefs is the only file not synked with the git-master - other than the patch and any build-files ofcourse)
Comment 17 Dustin C. Hatch 2011-01-22 17:08:13 UTC
(In reply to comment #16)
> I cant see a "csproj" file - only "Banshee.sln" and "Banshee.userprefs"
> (Banshee.userprefs is the only file not synked with the git-master - other than
> the patch and any build-files ofcourse)

The csproj files are inside the project folders. Banshee.Widgets, for example, is in src\Core\Banshee.Widgets\Banshee.Widgets.csproj
Comment 18 Matt Sturgeon 2011-01-22 17:14:07 UTC
Created attachment 179046 [details]
Fixed Muinshee.csproj.

Oh, ok - here is a modified Muinshee.csproj.

It had atk-sharp, gdk-sharp, glib-sharp and gtk-sharp broken.
Comment 19 Matt Sturgeon 2011-01-22 17:16:13 UTC
Created attachment 179047 [details]
Still broken Banshee.ThickClient.csproj.

For comparison, this Banshee.ThickClient.csproj is still broken.

It has the same broken references, plus pango-sharp.
Comment 20 Matt Sturgeon 2011-01-22 17:31:54 UTC
Created attachment 179048 [details]
Build Log of patched banshee - with manual reference corrections to all-but "Extentions"

Wow - after going through everything exept Extensions (laziness), I attempted to "Rebuild banshee" and found only 1 Error, plus 22 Warnings. Build Log attached.
Comment 21 Gabriel Burt 2011-01-24 23:06:23 UTC
This bug report is really messy.  What is the actual bug?

Matt, please attach any changes as git patches.  And try to keep the number of patches and logs to a minimum.  Is this not a dupe of bug #639808 ?
Comment 22 Matt Sturgeon 2011-01-25 07:46:17 UTC
The bug is a build failure. And it appears that the cause of the bug is broken references. To fix the references, I went through each, removed the bad references and added them again from the list. It still doesn't build but I believe that to be a different cause.
Dustin asked me to attach some csproj files (one corrected and one still broken) so that he could look at the changes.
If this doesn't break the build on other systems, I will repeat the changes in a cleaner git branch and propose a patch.
Comment 23 Andrés G. Aragoneses (IRC: knocte) 2011-01-25 15:10:43 UTC
(In reply to comment #11)
> Guys, FYI newer versions of Mono would help with this problem, as the C#
> compiler has been made more strict wrt references (see
> https://bugzilla.novell.com/show_bug.cgi?id=543537 ).

FYI I just tested Mono 2.10 and unfortunately it seems not to include this fix (because the build works).
Comment 24 Matt Sturgeon 2011-01-28 19:29:14 UTC
Sorry, why is it unfortunate that the build works?
Comment 25 Andrés G. Aragoneses (IRC: knocte) 2011-01-28 19:57:43 UTC
(In reply to comment #24)
> Sorry, why is it unfortunate that the build works?

If the build doesn't work on Windows with MS.NET, the build should fail in Linux as well with Mono. This is what BNC#543537 is supposed to fix, but apparently its fix is not included in 2.10. (If it was included, the patch to fix the build in Linux would fix the build in Windows as well, so the builds between different operating systems would not get desynchronized ever again.)
Comment 26 Matt Sturgeon 2011-01-31 17:42:32 UTC
Ok, today I pulled to my banshee branch, took too manual snapshots (copied out everything except .git directories) one for Visual C# 2010 Express Edition, and one for the new MonoDevelop 2.4.2.1 - alot of changes!
I kept the snapshots seperate so that building one wouldn't effect the other.
The diff on both banshee and banshee/bin was quite large, and there was alot of windows-specific changes too, like the edition of a /build/windows directory.

Anyway here are my build results:
MonoDevelop 2.4.2.1:
Building banshee: 0 Errors, 3 Warnings (1 in Hyena, 2 in Hyena.Data.Sqlite), Exit code 1 (Custom command failed)

Running had more difficulties

Visual C# 2010 Express Edition:
Failed miserably
Comment 27 Matt Sturgeon 2011-02-01 00:23:30 UTC
Am marking this bug as "RESOLVED/NOTABUG" because it is too vague and messy to be of use to the developers, and because many others have successfully built and run banshee on Windows systems.