Skip to content
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

Native .NET 7 source build on s390x #2937

Open
iii-i opened this issue Jul 7, 2022 · 3 comments
Open

Native .NET 7 source build on s390x #2937

iii-i opened this issue Jul 7, 2022 · 3 comments
Labels
area-native-bootstrapping Allowing new platforms/operating systems to use source-build

Comments

@iii-i
Copy link

iii-i commented Jul 7, 2022

Describe the Problem

I'm trying to use the source build instructions for building .NET 7 on s390x.
This fails almost immediately with:

installer$ ./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=$PWD/source-build
Downloading 'https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh'
...
dotnet-install: Extracting zip from https://dotnetcli.azureedge.net/dotnet/Sdk/7.0.100-preview.5.22307.18/dotnet-sdk-7.0.100-preview.5.22307.18-linux-x64.tar.gz
...
dotnet-install: Extracting zip from https://dotnetcli.azureedge.net/dotnet/Runtime/2.1.0/dotnet-runtime-2.1.0-linux-x64.tar.gz
...
{redacted}/installer/eng/common/tools.sh: line 477: {redacted}/installer//.dotnet/dotnet: cannot execute binary file: Exec format error

This is essentially dotnet/installer#13022, however, the 7.0.100-preview.5.22307.18 part can be circumvented by extracting the manually built installer into .dotnet. The 2.1.0 part is not that easy though, since AFAICS 2.1.0 is EOL (https://dotnet.microsoft.com/en-us/download/dotnet/2.1 + https://www.nuget.org/packages/Microsoft.NETCore.App/2.1.0) and will never be supported on s390x.

Describe the Solution

./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=$PWD/source-build should not require dotnet-runtime-2.1.0.

@dotnet-issue-labeler
Copy link

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.

@MichaelSimons
Copy link
Member

[Triage] This is related to #2930.

@MichaelSimons MichaelSimons added area-native-bootstrapping Allowing new platforms/operating systems to use source-build and removed untriaged labels Jul 7, 2022
@MichaelSimons MichaelSimons moved this to 8.0 Backlog in .NET Source Build Jul 7, 2022
@ayakael
Copy link

ayakael commented Oct 29, 2022

On Alpine Linux, we do our own bootstrap downloading, and disable automatic downloading of bootstraps by exporting variables:

_cli_dir=/path/to/bootstrap
export _InitializeDotNetCli="$_cli_dir"
export DOTNET_INSTALL_DIR="$_cli_dir"
export DotNetBuildFromSource=true

Thus we have much more control on what bootstrapping artifacts we use.

@MichaelSimons MichaelSimons moved this from Needs Review to Backlog in .NET Source Build Jun 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-native-bootstrapping Allowing new platforms/operating systems to use source-build
Projects
Status: Backlog
Development

No branches or pull requests

3 participants