-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Bump F# to 4.5 #10919
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
Bump F# to 4.5 #10919
Conversation
|
@monojenkins build pkg |
packaging/MacSDK/fsharp.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nosami btw do you think we can remove those two remaining patches as well now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. Not yet. I will try and get them upstreamed.
|
@monojenkins build pkg |
8 similar comments
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
From discussing with @nosami
Hence the failures above. We need to dig into this |
|
@monojenkins build pkg |
|
@monojenkins build Linux x64 C++ |
|
@dsyme you don't seem to be in the Microsoft/Xamarin/Mono GitHub orgs (at least not publicly) so the GitHub trigger won't work for you. The failures from the previous build https://jenkins.mono-project.com/job/build-package-osx-mono-pullrequest/246 should still be accurate though since there wasn't another F# bump. |
|
@akoeplinger The errors now seem to be an artifact of previous test runs. The error that we now see is As far as I can tell, the permission error has been caused by an inadvertent |
|
Ok, I cleaned the bots, let's try another build. |
|
@monojenkins build pkg |
|
Same error after clean up. I have no idea where the 'Permission denied' is coming from. |
|
I am assuming that there is some issue with the Jenkins bots somewhere. The same script builds on Travis. I don't see |
|
Who can add me to those orgs? I should be in xamarin I thought Can we get direct access to one of these build machines? |
|
@dsyme yeah you are in the org but your membership is set to private (so the bot can't see it). Go to https://github.com/orgs/xamarin/people?utf8=%E2%9C%93&query=dsyme and flip it to "public" |
|
@nosami yes, let's talk on Slack |
|
It seemed like more uncleanable files from |
|
@monojenkins build pkg |
|
@monojenkins build pkg |
|
@directhex given our understanding of the problem now, do you think it's still necessary that both |
|
@alexischr my strong preference is that they NOT be run on the same build step, tbh |
|
It built!! @directhex sounds good, I am not even going to try here though. Merging! |
|
🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 🍾 |
|
Thank you so, so much to everyone who helped with this little piece of nightmare. |
|
BTW, should we talk about bumping it to 4.6 already? :) |
|
@auduchinok First we drink all that champagne I just posted |
|
@monojenkins backport to 2019-02 |
|
@monojenkins backport to 2018-10 |
|
@alexischr backporting to 2019-02 failed, the patch results in conflicts: Please backport manually! |
|
@alexischr backporting to 2018-10 failed, the patch results in conflicts: Please backport manually! |
|
I'll do the backporting manually. And yeah we should get started on 4.6 right away :) |
|
@alexischr Thank you again! |
* Use a custom prefix instead of trying to infer it, which doesn't work under bockbuild. The following line is problematic in the scope of building the Mac SDK package (using bockbuild): https://github.com/fsharp/fsharp/blob/ccfccbacfdb16b2ab143cf83f5ece20f738fd864/mono/config.make#L5 It's problematic because where `mono` lives in this case would be something like `/macsdk-staging-dir/bin/mono` which is not the actual prefix (prefix here being the final destination, `/Library/Frameworks/Mono.framework/...`) but a staging area that bockbuild uses (this is how we build on system prefixes without installing on CI) For the F# build, bockbuild expects things to end up in `/fsharp-staging-dir/$(prefix)` (because that's what most `make install`s do when given `DESTDIR=/fsharp-staging-dir/`). If things end up in _any other_ directory in `/fsharp-staging-dir/` (like `/fsharp-staging-dir/macsdk-staging-dir` in our case) that would cause us to miss packaging those files (this has happened before, with packages that have broken or different use of `DESTDIR`). So there is an added write-protection for anywhere in `/fsharp-staging-dir` that *isn't* `/fsharp-staging-dir/$(prefix)` , because a write-protection error, while obtuse, is much preferable to missing the fact that some files are not packaged (as would have happened here) So the fix is to stop trying to infer the prefix, and return to providing it explicitly to the build system (this used to be the case via the `configure` step) * Also, if we are doing an override of the 'make' command, we need to take care of passing DESTDIR ourselves too * Since now we perform 'make install' on the make step, make the 'install' step into a no-operation. * Look for sn where mono is, not in the final destination (which again, may not be the same)
|
@monojenkins backport to 2019-04 |
|
@alexischr backporting to 2019-04 failed, the patch results in conflicts: Please backport manually! |
|
@auduchinok I am attempting backports from master to 6.0 and 6.2 (see PRs referring to this one). Otherwise this will make the next bi-monthly branch (6.4). These are unreleased/unstable Mono versions and have not finished being integrated with Xamarin products, but 6.0 is on preview as a standalone Mac package: https://www.mono-project.com/download/preview/ . If this merges on 6.0, we can update the 6.0 preview to include it. Do note - this package is not guaranteed or even expected to work with any releases of Visual Studio for Mac. As we were not targeting this for a specific Mono/Xamarin release (and this is a big change), I did not end up backporting to stable branches. |
* Use a custom prefix instead of trying to infer it, which doesn't work under bockbuild. The following line is problematic in the scope of building the Mac SDK package (using bockbuild): https://github.com/fsharp/fsharp/blob/ccfccbacfdb16b2ab143cf83f5ece20f738fd864/mono/config.make#L5 It's problematic because where `mono` lives in this case would be something like `/macsdk-staging-dir/bin/mono` which is not the actual prefix (prefix here being the final destination, `/Library/Frameworks/Mono.framework/...`) but a staging area that bockbuild uses (this is how we build on system prefixes without installing on CI) For the F# build, bockbuild expects things to end up in `/fsharp-staging-dir/$(prefix)` (because that's what most `make install`s do when given `DESTDIR=/fsharp-staging-dir/`). If things end up in _any other_ directory in `/fsharp-staging-dir/` (like `/fsharp-staging-dir/macsdk-staging-dir` in our case) that would cause us to miss packaging those files (this has happened before, with packages that have broken or different use of `DESTDIR`). So there is an added write-protection for anywhere in `/fsharp-staging-dir` that *isn't* `/fsharp-staging-dir/$(prefix)` , because a write-protection error, while obtuse, is much preferable to missing the fact that some files are not packaged (as would have happened here) So the fix is to stop trying to infer the prefix, and return to providing it explicitly to the build system (this used to be the case via the `configure` step) * Also, if we are doing an override of the 'make' command, we need to take care of passing DESTDIR ourselves too * Since now we perform 'make install' on the make step, make the 'install' step into a no-operation. * Look for sn where mono is, not in the final destination (which again, may not be the same)
* Use a custom prefix instead of trying to infer it, which doesn't work under bockbuild. The following line is problematic in the scope of building the Mac SDK package (using bockbuild): https://github.com/fsharp/fsharp/blob/ccfccbacfdb16b2ab143cf83f5ece20f738fd864/mono/config.make#L5 It's problematic because where `mono` lives in this case would be something like `/macsdk-staging-dir/bin/mono` which is not the actual prefix (prefix here being the final destination, `/Library/Frameworks/Mono.framework/...`) but a staging area that bockbuild uses (this is how we build on system prefixes without installing on CI) For the F# build, bockbuild expects things to end up in `/fsharp-staging-dir/$(prefix)` (because that's what most `make install`s do when given `DESTDIR=/fsharp-staging-dir/`). If things end up in _any other_ directory in `/fsharp-staging-dir/` (like `/fsharp-staging-dir/macsdk-staging-dir` in our case) that would cause us to miss packaging those files (this has happened before, with packages that have broken or different use of `DESTDIR`). So there is an added write-protection for anywhere in `/fsharp-staging-dir` that *isn't* `/fsharp-staging-dir/$(prefix)` , because a write-protection error, while obtuse, is much preferable to missing the fact that some files are not packaged (as would have happened here) So the fix is to stop trying to infer the prefix, and return to providing it explicitly to the build system (this used to be the case via the `configure` step) * Also, if we are doing an override of the 'make' command, we need to take care of passing DESTDIR ourselves too * Since now we perform 'make install' on the make step, make the 'install' step into a no-operation. * Look for sn where mono is, not in the final destination (which again, may not be the same)
|
Thanks. I was naively expecting we could get it in a 5.x release. 🙂 |
* Use a custom prefix instead of trying to infer it, which doesn't work under bockbuild. The following line is problematic in the scope of building the Mac SDK package (using bockbuild): https://github.com/fsharp/fsharp/blob/ccfccbacfdb16b2ab143cf83f5ece20f738fd864/mono/config.make#L5 It's problematic because where `mono` lives in this case would be something like `/macsdk-staging-dir/bin/mono` which is not the actual prefix (prefix here being the final destination, `/Library/Frameworks/Mono.framework/...`) but a staging area that bockbuild uses (this is how we build on system prefixes without installing on CI) For the F# build, bockbuild expects things to end up in `/fsharp-staging-dir/$(prefix)` (because that's what most `make install`s do when given `DESTDIR=/fsharp-staging-dir/`). If things end up in _any other_ directory in `/fsharp-staging-dir/` (like `/fsharp-staging-dir/macsdk-staging-dir` in our case) that would cause us to miss packaging those files (this has happened before, with packages that have broken or different use of `DESTDIR`). So there is an added write-protection for anywhere in `/fsharp-staging-dir` that *isn't* `/fsharp-staging-dir/$(prefix)` , because a write-protection error, while obtuse, is much preferable to missing the fact that some files are not packaged (as would have happened here) So the fix is to stop trying to infer the prefix, and return to providing it explicitly to the build system (this used to be the case via the `configure` step) * Also, if we are doing an override of the 'make' command, we need to take care of passing DESTDIR ourselves too * Since now we perform 'make install' on the make step, make the 'install' step into a no-operation. * Look for sn where mono is, not in the final destination (which again, may not be the same)
|
RPMs are done. Debs are blocked by #14103 |
make pkg