-
Notifications
You must be signed in to change notification settings - Fork 587
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using msbuild over xbuild causes issues ( at least on Mono 4.8.x) #1539
Comments
@nosami Have you seen anything like this? Thanks |
You can try your test setting the MSBuild environment variable to the path to xbuild on that system to validate. One of the things I did in that PR was unify the resolution logic across OSs to look for that variable. |
@dsyme: It doesn't surprise me. There were many issues with msbuild on mono 4.8.0 that have since been fixed. The FCS commit that you linked to builds fine using msbuild on mono 5.0.0.89 |
@baronfel Maybe we should default to xbuild for <mono5 (ie change the order)? |
Those both seem like fine resolutions. Do we already have a good way of determining the mono version in FAKE? I know we know if we're running in mono at all, but not sure about the version. |
@baronfel https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/EnvironmentHelper.fs#L151 was added because of the Mono5 runtime crash... Usage is https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/FSIHelper.fs#L491 |
@baronfel are you on it? |
ok, starting to look at this now. for mono <= 4.8 we'll use xbuild over msbuild, while still allowing to user to specify the env variable to override the path |
cc @baronfel
Recent FAKE (> 4.53.0?) has caused a regression on Linux/macOS with Mono 4.8 and Mono latest (currently 4.8.1). It invokes MSBuild instead of XBuild on these platforms (this PR).
That's fine, but I believe MSBuild on Unix/Mono has problems, at least before Mono 5.0.0 (yet to be released). For example, when compiling FSharp.Compiler.Service with (latest FAKE and FSharp.,Compiler.Tools](https://travis-ci.org/fsharp/FSharp.Compiler.Service/jobs/227043065) using this:
I get
This seems to be an MSBuild on Unix and Mono issue.
I suspect we should be avoiding defaulting to MSBuild on Unix, at least on Mono 4.8.x and before. I've yet to validate if this issue goes away on Mono 5.0.0.
Repro steps
Consider this PR.
this commit fails to build. It uses latest FAKE and invokes
msbuild
on UnixI'm in the process of validating that this commit succeeds. It uses FAKE 4.53.0 instead of FAKE 4.60.0 and invokes
xbuild
on UnixKnown workarounds
Use FAKE 4.53.0 or before (I'm in the process of validating this)
Perhaps use Mono 5.0.0 (?)
Related information
The text was updated successfully, but these errors were encountered: