-
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 formula for .NET 6 #2719
Comments
If I Doing a
Why is the .NET installer dependent on internal AzDO repositories requiring authentication? |
I assume you knew of the linux build for source. I've not compiled it myself and I assume you aren't having a prerequisite problem. There seems to be an issue with the linux instructions for building on what's called the prep stage for pulling these packages which may be related. Bootstrap Source-Built Package Fails .NET Source Build Linux Prerequisites |
Thanks @robertleeblairjr. As per #2602 (comment) it seems like version |
As can be seen in Homebrew/homebrew-core#92991, |
Scratch that. What works in When building |
I just now noticed the following disclaimer:
By providing a temporary path to
I've created a gist of the |
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
It might be that |
This is true. Every version of dotnet needs a previous recent build of dotnet to compile. This is what the |
@carlocab, @omajid, you are correct. I've left the description of the
|
I think the problem is that we don't have an OSX build running right now in 6.0 so those OSX runtime packages aren't being produced and put into previously-source-built. The full way we've gotten around this in the past is by constructing a special bootstrap previously-source-built that isn't actually 100% previously-source-built - it also contains Microsoft-built bits. The easiest way to do this is probably to take the Private.SourceBuilt.Artifacts tarball that gets downloaded, extract it somewhere handy, and add the required OSX packages. Then you can use the Just as a fair warning, source-build 6.0 isn't currently working on OSX and we're not working on fixing it right now so you might run into quite a few issues even after getting SBRP building. We'd be happy for any contributions you have to fix them but probably won't be able to devote a lot of time to it ourselves right now. |
@crummel, thanks for the information. I was able to find ./build.sh --with-packages /Users/…/dotnet/installer/artifacts/packages/ However, the build fails with the same error message still:
I have a fresh gist of |
I don't have anything to test this on, but if you download the matching version of |
@omajid, thanks! I can't find a "matching version" since I'm now building
gist of |
I think I can answer that with a "yes and no". I've now tried to build version git checkout v6.0.100
git am 12642.patch
tarball_dir="$(mktemp -d)"
./build.sh --configuration Release /p:ArcadeBuildTarball=true /p:TarballDir="$tarball_dir"
cd "$tarball_dir"
./prep.sh
tar -xzf $(find . -name '*Private.SourceBuilt.Artifacts*') --directory ./packages/
wget --directory-prefix=./packages/ https://www.nuget.org/api/v2/package/runtime.osx-x64.Microsoft.NETCore.ILAsm/6.0.0
wget --directory-prefix=./packages/ https://www.nuget.org/api/v2/package/runtime.osx-x64.Microsoft.NETCore.ILDAsm/6.0.0
./build.sh --with-packages ./packages/ And now the build fails on the
Here's a gist of the
Thoughts? |
I think that's the right thing to do for now; From the runtime.log, the error seems to be this:
That sounds like dotnet/runtime#60881. It was merged into 6.0, but I can now see that it missed the 6.0.0 cuttoff. To manually turn off package validation, can you run a command like this to add the property sed -i -E 's|( /p:BuildDebPackage=false)|\1 /p:EnablePackageValidation=false|' src/runtime.*/eng/SourceBuild.props (I tested this command on Linux/bash, so might need some tweaks for macOS) |
That is correct. source-build is currently not building in 6.0.200. It has not been a top priority for us at the moment. |
Ok.
Sure. I ran the command and inspected a few of the <InnerBuildArgs>$(InnerBuildArgs) /p:BuildDebPackage=false /p:EnablePackageValidation=false</InnerBuildArgs> Alas, that did not help. The build now failed as such:
The contents of |
Yup. That looks right. It should only be modifying that file. I only used the
Sorry, never seen this before. Are you starting from a fresh/clean directory? Incremental builds are probably broken. |
The |
Just for fun I now ran the build again, but this time I extracted packages to a temporary folder instead of to the
Here is a gist of
Now, I wonder: Is the |
Hey @asbjornu! This is the new error messages in the gist you posted:
This is the same error as before.... Can you confirm that your
|
Sorry, I forgot the git checkout v6.0.100
git am 12642.patch
tarball_dir="$(mktemp -d)"
package_dir="$(mktemp -d)"
./build.sh --configuration Release /p:ArcadeBuildTarball=true /p:TarballDir="$tarball_dir"
cd "$tarball_dir"
./prep.sh
tar -xzf $(find . -name '*Private.SourceBuilt.Artifacts*') --directory "$package_dir"
wget --directory-prefix="$package_dir" https://www.nuget.org/api/v2/package/runtime.osx-x64.Microsoft.NETCore.ILAsm/6.0.0
wget --directory-prefix="$package_dir" https://www.nuget.org/api/v2/package/runtime.osx-x64.Microsoft.NETCore.ILDAsm/6.0.0
sed -i -E 's|( /p:BuildDebPackage=false)|\1 /p:EnablePackageValidation=false|' src/runtime.*/eng/SourceBuild.props
./build.sh --with-packages "$package_dir" And ended up with
Here's
|
I was able to build Following workarounds for ARM build:
On Intel, it then fails at phase
It is looking for 6.0.0 and failing. There is a 6.0.2 version in that directory. Haven't had chance to find where these version numbers are coming from. I currently updated open Homebrew PR with changes, but it will probably still fail on Intel CI runners due to this. Everything else ( |
Hey, @crummel, is the tag |
Notes from trying some other tags:
Snippet of failure logs for installer.log
EDIT: Now using |
Homebrew/homebrew-core#92991 is now merged and |
As per #2602, I'm trying to update Homebrew's
dotnet
formula from version5.0.207
to version6.0.101
. Since the build process has changed, I need to modify the Homebrew formula to reflect these changes. Right off the bat, it seems like thissudo
statement makes installation with Homebrew impossible:https://github.com/dotnet/installer/blob/ef49f6213a0256d5e8b10d9a573f8dd355bc8593/build.sh#L58
Now I see that this
sudo
statement is removed in dotnet/installer#12736, but there's no release yet that contain this commit. I've added a patch for f8e115fadf6e8b392fa007e78d9b77fc64590cdd to thedotnet
formula, but would rather avoid it, especially if this fix is expected to be released soon. The next issue is that theStart Cloning Repo runtime
step fails by asking fordev.azure.com
credentials:Is the authentication problem I've stumbled into fixed in a revision I can patch as well, or is this news to you? Thoughts and guidance would be highly appreciated. 🙏🏼
The text was updated successfully, but these errors were encountered: