[Mono-dev] Recent xbuild fixes causing issues with finding mcs

Michael Franz mvfranz at gmail.com
Sun Feb 16 03:13:11 UTC 2014


On Sat, Feb 15, 2014 at 10:02 PM, Michael Hutchinson <
m.j.hutchinson at gmail.com> wrote:

> AFAIK something's wrong with the installation if
> $prefix/lib/mono/4.5/mcs.exe is missing.
>
> What does your $prefix/bin/mcs point to?
>
>
It  points to a binary that does not run on its own.
bash-4.1$ ./lib/mono/4.5/mcs.exe --version
bash: ./lib/mono/4.5/mcs.exe: cannot execute binary file

but, if I run it with mono it will work.
bash-4.1$ bin/mono ./lib/mono/4.5/mcs.exe --version
Mono C# compiler version 3.2.7.0

Prior to the change, it was the mcs wrapper that was being executed, after
the change, it is trying to run the .NET binary directly.  The contents of
mcs is:
#!/bin/sh
exec /opt/local/JenkinsBuilds/bin/mono $MONO_OPTIONS
/opt/local/JenkinsBuilds/lib/mono/4.5/mcs.exe "$@"



On 15 February 2014 10:51, Michael Franz <mvfranz at gmail.com> wrote:
> > On Sat, Feb 15, 2014 at 9:46 AM, Michael Franz <mvfranz at gmail.com>
> wrote:
> >>
> >> Hi,
> >>
> >> I see there have been a few changes to xbuild since February 10th, 2014.
> >> February 10th is the last time I was able to build my local C# project
> using
> >> mono head.  This is a simple project that I have just started and am
> planing
> >> to build on both mono and .NET.  The issue seems to be that xbuild has
> >> changed how it finds mcs.  /opt/local/JenkinsBuilds/bin/mcs ->
> >> /opt/local/JenkinsBuilds/lib/mono/4.5/mcs.exe - see below.
> >>
> >> My locally build mono install is in /opt/local/JenkinsBuilds and my
> builds
> >> are all run via Jenkins.
> >>
> >> The build process is:
> >> - use premake5 to generate Visual Studio 2012 project files (note I am
> >> using .net 4.5 specific features)
> >> - use xbuild to build
> >> - use mono version of nunit to test
> >>
> >> The working build out put was like this:
> >>
> >> + /opt/local/JenkinsBuilds/bin/xbuild QTS.sln
> >> XBuild Engine Version 12.0
> >> Mono, Version 3.2.7.0
> >> Copyright (C) 2005-2013 Various Mono authors
> >>
> >> Build started 2/10/2014 9:56:00 PM.
> >> __________________________________________________
> >> Project "/var/lib/jenkins/jobs/CI/workspace/QTS.sln" (default
> target(s)):
> >>      Target ValidateSolutionConfiguration:
> >>              Building solution configuration "Debug|Any CPU".
> >>      Target Build:
> >>              Project
> "/var/lib/jenkins/jobs/CI/workspace/QTS/QTS.csproj" (default
> >> target(s)):
> >>                      Target PrepareForBuild:
> >>                              Configuration: Debug Platform: AnyCPU
> >>                      Target GenerateSatelliteAssemblies:
> >>                      No input files were specified for target
> GenerateSatelliteAssemblies,
> >> skipping.
> >>                      Target GenerateTargetFrameworkMonikerAttribute:
> >>                      Skipping target
> "GenerateTargetFrameworkMonikerAttribute" because its
> >> outputs are up-to-date.
> >>                      Target CoreCompile:
> >>                              Tool /opt/local/JenkinsBuilds/bin/mcs
> execution started with
> >> arguments: /noconfig /debug:full /debug+ /optimize-
> /out:obj/Debug/QTS.dll
> >> Properties/AssemblyInfo.cs
> Utilities/Measurements/PerformanceStatistics.cs
> >> /target:library /define:"DEBUG;TRACE" /platform:AnyCPU
> >> /reference:/opt/local/JenkinsBuilds/lib/mono/4.5/System.dll
> >> /reference:/opt/local/JenkinsBuilds/lib/mono/4.5/System.Core.dll /warn:4
> >>
> >>
> >> The broken build is now producing:
> >>
> >> + /opt/local/JenkinsBuilds/bin/xbuild QTS.sln
> >> XBuild Engine Version 12.0
> >> Mono, Version 3.2.7.0
> >> Copyright (C) 2005-2013 Various Mono authors
> >>
> >> Build started 2/15/2014 8:50:52 AM.
> >> __________________________________________________
> >> Project "/var/lib/jenkins/jobs/CI/workspace/QTS.sln" (default
> target(s)):
> >>      Target ValidateSolutionConfiguration:
> >>              Building solution configuration "Debug|Any CPU".
> >>      Target Build:
> >>              Project
> "/var/lib/jenkins/jobs/CI/workspace/QTS/QTS.csproj" (default
> >> target(s)):
> >>                      Target PrepareForBuild:
> >>                              Configuration: Debug Platform: AnyCPU
> >>                              Created directory "bin/Debug/"
> >>                              Created directory "obj/Debug/"
> >>                      Target CopyFilesMarkedCopyLocal:
> >>                              Copying file from
> '/opt/local/JenkinsBuilds/lib/mono/4.5/mscorlib.dll'
> >> to '/var/lib/jenkins/jobs/CI/workspace/QTS/bin/Debug/mscorlib.dll'
> >>                              Copying file from
> >> '/opt/local/JenkinsBuilds/lib/mono/4.5/mscorlib.dll.mdb' to
> >> '/var/lib/jenkins/jobs/CI/workspace/QTS/bin/Debug/mscorlib.dll.mdb'
> >>                      Target GenerateSatelliteAssemblies:
> >>                      No input files were specified for target
> GenerateSatelliteAssemblies,
> >> skipping.
> >>                      Target CoreCompile:
> >>                              Tool
> /opt/local/JenkinsBuilds/lib/mono/4.5/mcs.exe execution started
> >> with arguments: /noconfig /debug:full /debug+ /optimize-
> >> /out:obj/Debug/QTS.dll Properties/AssemblyInfo.cs Utilities/Math.cs
> >> Utilities/Measurements/PerformanceStatistics.cs
> >> obj/Debug/.NETFramework,Version=v4.5.AssemblyAttribute.cs
> /target:library
> >> /define:"DEBUG;TRACE" /nostdlib /platform:AnyCPU
> >> /reference:/opt/local/JenkinsBuilds/lib/mono/4.5/System.dll
> >> /reference:/opt/local/JenkinsBuilds/lib/mono/4.5/System.Core.dll
> >> /reference:/opt/local/JenkinsBuilds/lib/mono/4.5/mscorlib.dll /warn:4
> >> /opt/local/JenkinsBuilds/lib/mono/4.5/Microsoft.CSharp.targets: error :
> >> Error executing tool '/opt/local/JenkinsBuilds/lib/mono/4.5/mcs.exe':
> >>
> >>
> >>
> >> I checked the commit logs, and it looks like there are commits that
> would
> >> affect this behavior.  Now, it might be that I was doing something wrong
> >> from the start and now I need to fix the process, but it seems like a
> simple
> >> process.
> >> e753ca2 Michael Hutchinson [xbuild] Fix dependency in C# targets
> >> c197478 Michael Hutchinson [xbuild] Fix 2.0 tests to handle mcs sdk
> >> argument
> >> 693176c Michael Hutchinson [xbuild] Fix Tooltask.ToolPath behaviour to
> >> match .NET
> >> df52831 Michael Hutchinson [xbuild] Make ToolLocationHelper work better
> >> for 2.0/3.5
> >> a55c588 Michael Hutchinson [xbuild] Fix typo that broke 2.0/3.5 targets
> >> c705849 Michael Hutchinson [xbuild] Fix mscorlib resolution for custom
> >> frameworks
> >>
> >> So, is this a bug in xbuild?
> >>
> >> Thank you
> >>
> >> Michael
> >
> >
> > I did some rollbacks and have confirmed that change c705849b breaks my
> build
> > process, Revision 85fbadaf is the last version that works for me.  I have
> > not looked at the change in detail, but it does seem to be relevant to my
> > problem.
> >
> > Michael
> >
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
>
>
>
> --
> Michael Hutchinson
> http://mjhutchinson.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-devel-list/attachments/20140215/6412a8de/attachment-0001.html>


More information about the Mono-devel-list mailing list