-
Notifications
You must be signed in to change notification settings - Fork 132
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
[Homebrew/macOS] .NET 6 and 7 build patches/workarounds #2795
Comments
[Triage] @crummel, please take a look at these, comment which ones should be pushed upstream and note if there are any related tracking issues. |
This looks good to me as an installer patch.
The missing package is probably because we aren't building for OSX, so the packages never get fed into the previously-source-built set of packages. I believe this means you'll be using prebuilt versions of ILAsm/ILDAsm in at least your first build; after that you can save off the produced packages and use them for future builds (this is similar to what Fedora does). In the (very-) long-term we will probably build on OSX again but we don't have the bandwidth to look at it right now. So in summary I don't think you need this as a permanent patch if you're going to be collecting the packages and managing your own previously-source-built. Otherwise I think this is fine to upstream to installer.
This is interesting and I wonder if it's another RID-related problem. ASP.NET was updated in 6.0.103 so it's odd that it's looking for 6.0.2. If you have a copy of your
We're also fine with changing this to BSD sed syntax (i.e.
Yes, this is a bad patch and I hope to remove it soon - the PR is dotnet/arcade#7549. Thanks for finding these issues and writing them up! Let us know if you run into any more issues and feel free to ping me or dotnet/source-build-internal if you open any PRs. |
Hi @cho-m, would you mind opening a separate issue for the RID-related stuff (the ASP.NET and ILAsm versions)? Then after the rest of the PRs are up we can close this one and chase those down separately. Thanks! |
Hi @cho-m, have you had any time to look at this? Thanks again for tracking these issues down! |
Sorry I haven't had much time to respond. I'll try to work on creating PRs and separate issues by this week or next. I will note that GNU vs BSD sed issue is probably fixed in 7.0.0 with dotnet/arcade@b8007ee While there is a new issue with dotnet-install script on 6.0 -- dotnet/install-scripts#318 |
One thing for EDIT: Just tried it and I see why. It has macOS version number ( |
Perhaps we should have a call on this to see if we can come up with a plan. @cho-m @fel1x-developer @asbjornu Sound good? |
I'd like to be included too! |
The need to remove the |
All issues in the original write-up have been fixed in .NET 8.0. Closing. |
Opening an issue to track various patches/workarounds we do in Homebrew for macOS build to find out which are already fixed, if we need to upstream some, to discuss better ways to fix, and/or if should be part of documentation.
Some prior discussion in #2719 and 6.0.102 work in Homebrew PR Homebrew/homebrew-core#95339 (EDIT: 6.0.103 work in PR Homebrew/homebrew-core#96612)
Build failure on macOS ARM due to
osx-x64
override. The following is the patch we use to allow usingosx-arm64
. If acceptable, I can create PR in dotnet/installer:Patch
Build failure on macOS due to missing ILAsm/ILDAsm. This seems to be common issue on Linux too. The odd thing though is that
RuntimeOsxArm64MicrosoftNETCoreILAsmVersion
exists butRuntimeOsxX64MicrosoftNETCoreILAsmVersion
doesn't, so needed to use Linux's version for x64. Not sure if this should be added, or if this is a .NET packaging issue that will be fixed. (EDIT: In 6.0.103, need to use Linux versions for osx-arm64 too) e.g.Patch (v6.0.102)
Patch (v6.0.103)
Error MSB4018 while building 'installer in tarball' due to trying to find
aspnetcore-runtime-internal
v6.0.0 rather than current. Need to find out why this is happening. The hack done is changeMicrosoftAspNetCoreAppRuntimePackageVersion
toMicrosoftAspNetCoreAppRuntimewinx64PackageVersion
insidesrc/installer.*/src/redist/targets/GenerateLayout.targets
osx-x64
as looking for v6.0.2Needed to introduce GNU sed rather than default BSD sed. Not too important and can keep as build dependency, but may want to document if it remains hard requirement. The problem is due to
sed -i
usage in https://github.com/dotnet/arcade/blob/main/eng%2FSourceBuild.props#L38sed -i
usage in dotnet/arcade@b8007eeTemporary issue but need to manually remove
src/nuget-client.*/eng/source-build-patches/0001-Rename-NuGet.Config*.patch
since macOS is case-insensitive OS. Would be good to be able to identify patches that are platform-compatible and have source-build skip them. Otherwise, Homebrew can continue removing incompatible patches as necessary.The text was updated successfully, but these errors were encountered: