Skip to content

Error building source-build-reference-packages using 3.1 #1946

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

Closed
omajid opened this issue Dec 8, 2020 · 4 comments
Closed

Error building source-build-reference-packages using 3.1 #1946

omajid opened this issue Dec 8, 2020 · 4 comments

Comments

@omajid
Copy link
Member

omajid commented Dec 8, 2020

I am trying to build source-build-reference-packages commit f07c2d37ddf062561ff57a212e3513fbd0ab083a using .NET Core 3.1.

The build fails for me:

         /home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/src/targetPacks/assemble.targets(90,5): error MSB3073: The command "set -o pipefail;/home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a//artifacts/source-built/coreclr-tools/ilasm /home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/src/targetPacks/ILsrc/microsoft.aspnetcore.app.ref/5.0.0-rc.1.20451.17/ref/net5.0/Microsoft.AspNetCore.Authentication.Abstractions.il -dll -quiet -nologo -output=/home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/artifacts/TFMPack/microsoft.aspnetcore.app.ref/5.0.0-rc.1.20451.17/ref/net5.0/Microsoft.AspNetCore.Authentication.Abstractions.dll |& awk  '!/warning : Method has no body/'" exited with code 1. [/home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/src/targetPacks/ILsrc/microsoft.aspnetcore.app.ref/microsoft.aspnetcore.app.ref.proj]                                                                                      
                                                                                                                       
    0 Warning(s)                                                                                                       
    2 Error(s)                                                                                                         

Rerunning the failing command manually shows this error:

$ /home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a//artifacts/source-built/coreclr-tools/ilasm /home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/src/targetPacks/ILsrc/microsoft.aspnetcore.app.ref/5.0.0-rc.1.20451.17/ref/net5.0/Microsoft.AspNetCore.Authentication.Abstractions.il -dll -quiet -nologo -output=/home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/artifacts/TFMPack/microsoft.aspnetcore.app.ref/5.0.0-rc.1.20451.17/ref/net5.0/Microsoft.AspNetCore.Authentication.Abstractions.dll |& awk '!/warning : Method has no body/'          
/home/omajid/fedora-git/dotnet-build-reference-packages/source-build-reference-packages-f07c2d37ddf062561ff57a212e3513fbd0ab083a/src/targetPacks/ILsrc/microsoft.aspnetcore.app.ref/5.0.0-rc.1.20451.17/ref/net5.0/Microsoft.AspNetCore.Authentication.Abstractions.il(1089) : error : syntax error at token 'constraint' in:     .param constraint   THandler/*2A000001*/ , Microsoft.AspNetCore.Authentication.IAuthenticationHandler/*0200000E*/
                                                                                                                       
***** FAILURE *****                    

Is this a known issue? Is it supported to use .NET Core 3.1 to build recent commits of source-build-reference-packages?

@dagood
Copy link
Member

dagood commented Dec 8, 2020

This got a bit complicated due to some compatibility issues with SBRP and dotnet/source-build's release/3.1 vs. master banches... not just ilasm diffs, but some SBRP packages causing 3.1 to fail. Now they have 1:1 branches rather than having a unified SBRP branch.

source-build master -> source-build-reference-packages pre-arcade
source-build release/3.1 -> source-build-reference-packages pre-arcade/3.1

(source-build-reference-packages master is used for arcade-powered source-build.)

dotnet/source-build-reference-packages@f07c2d3 is in the pre-arcade branch, so it can't build using 3.1 artifacts, only 5.0.

/cc @dseefeld @crummel

@omajid
Copy link
Member Author

omajid commented Dec 8, 2020

Thanks. What does that mean for a Linux distribution looking to build both .NET 3.1 and 5 from source? In Fedora, we have 1 package for SBRP, and it was for 3.1. If I want to add 5.0 (and, say, start working on 6.0 builds too) what should I do? Should I build each branch of SBRP? Can I share one build of SBRP between 5.0 and 3.1?

@dagood
Copy link
Member

dagood commented Dec 8, 2020

The branches have distinct sets of packages (and to some degree infra) so you need to build every branch into separate packages. 😕

A significant factor here is that with one branch, changes that are meant to be for 6.0 might regress something in 5.0 and 3.1. (We hit this with 5.0 breaking 3.1.) We don't have the infra/time to validate this effectively, so even though we should be able to keep everything in one branch (with regex + conditions for edge cases), it isn't practical right now.

Ultimately I think we should get rid of SBRP as being something special. (#1456.) I expect this to happen in 6.0 with arcade-powered source-build.

@omajid
Copy link
Member Author

omajid commented Dec 9, 2020

Thanks, I was able to follow these steps and get it working locally.

@omajid omajid closed this as completed Dec 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants