You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
dotnet-install script tries download x64 sdk when specifying channel to 10 #654
As described in title, the script tries to download x64 sdk even though the architecture options is specified
➜ ~ ./dotnet-install.sh -c 10.0 --architecture arm64
dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz
➜ ~ ./dotnet-install.sh -c 10.0
dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz
[Triage] The script is likely reading the machine architecture and not honoring the --architecture flag. We should investigate whether or not this is the case. It's also possible that the aka.ms links are pointing to the incorrect artifacts.
@DosangGu - what's the architecture of the machine you're running on?
> uname -m
arm64
> curl -sSL https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh | bash /dev/stdin -c 10.0 --architecture arm64
dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-arm64.tar.gz
dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-arm64.tar.gz
> curl -sSL https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh | bash /dev/stdin -c 10.0
dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-arm64.tar.gz
dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-arm64.tar.gz
@DosangGu - Can you please provide some more details: What is the output when you run uname -m? Additionally, what is the output when your run the scripts with the --verbose flag?
It seems my downloaded script is outdated. Using your example script installed arm64 sdk.
But I'll provide the log which I tried with old script. Seems the old script parsed architecture as arm64 but it tries download x64 sdk.
➜ ~ uname -m
arm64
➜ ~~/dotnet-install.sh -c 10.0 --verbose
dotnet-install: Note that the intended use of this script is for Continuous Integration (CI) scenarios, where:
dotnet-install: - The SDK needs to be installed without user interaction and without admin rights.
dotnet-install: - The SDK installation doesn't need to persist across multiple CI runs.dotnet-install: To set up a development environment or to run apps, use installers rather than this script. Visit https://dotnet.microsoft.com/download to get the installer.dotnet-install: Calling: machine_has curldotnet-install: Calling: calculate_varsdotnet-install: Calling: get_normalized_architecture_from_architecture <auto>dotnet-install: Calling: get_machine_architecturedotnet-install: Normalized architecture: 'arm64'.dotnet-install: Calling: get_normalized_osdotnet-install: Calling: get_current_os_namedotnet-install: Normalized OS: 'osx'.dotnet-install: Calling: get_normalized_qualitydotnet-install: Normalized quality: ''.dotnet-install: Calling: get_normalized_channel 10.0dotnet-install: Normalized channel: '10.0'.dotnet-install: Calling: get_normalized_productdotnet-install: Normalized product: 'dotnet-sdk'.dotnet-install: Calling: resolve_installation_path <auto>dotnet-install: Calling: get_user_install_pathdotnet-install: resolve_installation_path: user_install_path=/Users/someotherplace/.dotnetdotnet-install: InstallRoot: '/Users/someotherplace/.dotnet'.dotnet-install: Calling: get_normalized_architecture_for_specific_sdk_version Latest 10.0 arm64dotnet-install: Calling: get_current_os_namedotnet-install: Changing user architecture from 'arm64' to 'x64' because .NET SDKs prior to version 6.0 do not support arm64.dotnet-install: Calling: get_download_link_from_aka_msdotnet-install: Retrieving primary payload URL from aka.ms for channel: '10.0', quality: '', product: 'dotnet-sdk', os: 'osx', architecture: 'x64'.dotnet-install: Constructed aka.ms link: '[https://aka.ms/dotnet/10.0/dotnet-sdk-osx-x64.tar.gz'.](https://aka.ms/dotnet/10.0/dotnet-sdk-osx-x64.tar.gz%27.)dotnet-install: Calling: get_http_header https://aka.ms/dotnet/10.0/dotnet-sdk-osx-x64.tar.gz truedotnet-install: Calling: machine_has curldotnet-install: Calling: get_http_header_curl https://aka.ms/dotnet/10.0/dotnet-sdk-osx-x64.tar.gz truedotnet-install: Received response: HTTP/1.1 301 Moved PermanentlyServer: KestrelLocation: https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzRequest-Context: appId=cid-v1:d94c0f68-64bf-4036-8409-a0e761bb7ee1X-Response-Cache-Status: TrueContent-Length: 0Expires: Wed, 19 Nov 2025 23:25:54 GMTCache-Control: max-age=0, no-cache, no-storePragma: no-cacheDate: Wed, 19 Nov 2025 23:25:54 GMTConnection: keep-aliveStrict-Transport-Security: max-age=31536000 ; includeSubDomainsHTTP/1.1 200 OKContent-Type: application/octet-streamContent-MD5: jo9HF0BJURJ1SICBybhHJw==Last-Modified: Tue, 11 Nov 2025 11:44:48 GMTETag: 0x8DE2117B7956624x-ms-request-id: e088e40a-601e-0029-7695-595b14000000x-ms-version: 2009-09-19x-ms-lease-status: unlockedx-ms-blob-type: BlockBlobCache-Control: public, max-age=854492Date: Wed, 19 Nov 2025 23:25:55 GMTConnection: keep-aliveContent-Length: 237608768Akamai-GRN: 0.ca15d617.1763594755.207b3dcdotnet-install: The redirect location retrieved: '[https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz'.](https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz%27.)dotnet-install: Retrieved primary payload URL from aka.ms link: '[https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz'.](https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz%27.)dotnet-install: Downloading using legacy url will not be attempted.dotnet-install: Version: '10.0.100'.dotnet-install: Calling: get_specific_product_version 10.0.100 https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzdotnet-install: Calling: get_specific_product_version_url 10.0.100 true https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzdotnet-install: Constructed productVersion link: https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/sdk-productVersion.txtdotnet-install: Calling: get_specific_product_version_url 10.0.100 false https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzdotnet-install: Constructed productVersion link: https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/productVersion.txtdotnet-install: Checking for the existence of https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/sdk-productVersion.txtdotnet-install: Calling: machine_has curldotnet-install: Calling: is_dotnet_package_installed /Users/someotherplace/.dotnet sdk 10.0.100dotnet-install: Calling: combine_paths /Users/someotherplace/.dotnet sdkdotnet-install: combine_paths: root_path=/Users/someotherplace/.dotnetdotnet-install: combine_paths: child_path=sdkdotnet-install: Calling: combine_paths /Users/someotherplace/.dotnet/sdk 10.0.100dotnet-install: combine_paths: root_path=/Users/someotherplace/.dotnet/sdkdotnet-install: combine_paths: child_path=10.0.100dotnet-install: is_dotnet_package_installed: dotnet_package_path=/Users/someotherplace/.dotnet/sdk/10.0.100dotnet-install: Generated 1 links.dotnet-install: Link 0: aka.ms, 10.0.100, https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzdotnet-install: Calling: install_dotnetdotnet-install: Zip path: /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.SbnOV3AK8dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzdotnet-install: Calling: download https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.SbnOV3AK8dotnet-install: Calling: machine_has curldotnet-install: Calling: downloadcurl https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.SbnOV3AK8dotnet-install: Calling: machine_has curldotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gz size is 237608768 bytes.dotnet-install: Extracting zip from https://builds.dotnet.microsoft.com/dotnet/Sdk/10.0.100/dotnet-sdk-10.0.100-osx-x64.tar.gzdotnet-install: Calling: extract_dotnet_package /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.SbnOV3AK8 /Users/someotherplace/.dotnet 237608768dotnet-install: Calling: copy_files_or_dirs_from_list /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.qu4QmdPqd /Users/someotherplace/.dotnet falsedotnet-install: Calling: get_current_os_namedotnet-install: Calling: copy_files_or_dirs_from_list /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.qu4QmdPqd /Users/someotherplace/.dotnet truedotnet-install: Calling: get_current_os_namedotnet-install: Calling: validate_remote_local_file_sizes /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.SbnOV3AK8 237608768dotnet-install: Downloaded file size is 237608768 bytes.dotnet-install: The remote and local file sizes are equal.dotnet-install: Temporary zip file /var/folders/37/1xb3nfwd4pg0zth1cy38_p900000gn/T//dotnet.SbnOV3AK8 was removeddotnet-install: Checking installation: version = 10.0.100dotnet-install: Calling: is_dotnet_package_installed /Users/someotherplace/.dotnet sdk 10.0.100dotnet-install: Calling: combine_paths /Users/someotherplace/.dotnet sdkdotnet-install: combine_paths: root_path=/Users/someotherplace/.dotnetdotnet-install: combine_paths: child_path=sdkdotnet-install: Calling: combine_paths /Users/someotherplace/.dotnet/sdk 10.0.100dotnet-install: combine_paths: root_path=/Users/someotherplace/.dotnet/sdkdotnet-install: combine_paths: child_path=10.0.100dotnet-install: is_dotnet_package_installed: dotnet_package_path=/Users/someotherplace/.dotnet/sdk/10.0.100dotnet-install: Installed version is 10.0.100dotnet-install: Calling: combine_paths /Users/someotherplace/.dotnetdotnet-install: combine_paths: root_path=/Users/someotherplace/.dotnetdotnet-install: combine_paths: child_path=dotnet-install: Calling: get_absolute_path /Users/someotherplace/.dotnet/dotnet-install: Adding to current process PATH: `/Users/someotherplace/.dotnet`. Note: This change will be visible only when sourcing script.dotnet-install: Note that the script does not resolve dependencies during installation.dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section.dotnet-install: Installation finished successfully.
Activity
ellahathaway commentedon Nov 12, 2025
[Triage] The script is likely reading the machine architecture and not honoring the
--architectureflag. We should investigate whether or not this is the case. It's also possible that the aka.ms links are pointing to the incorrect artifacts.@DosangGu - what's the architecture of the machine you're running on?
DosangGu commentedon Nov 12, 2025
It's arm64. I ran the script with mac mini (m2 chip).
ellahathaway commentedon Nov 19, 2025
I'm unable to repro with Apple M1 (ARM) Mini
@DosangGu - Can you please provide some more details: What is the output when you run
uname -m? Additionally, what is the output when your run the scripts with the--verboseflag?DosangGu commentedon Nov 19, 2025
It seems my downloaded script is outdated. Using your example script installed arm64 sdk.
But I'll provide the log which I tried with old script. Seems the old script parsed architecture as arm64 but it tries download x64 sdk.
➜ ~ uname -m arm64ellahathaway commentedon Nov 20, 2025
Looks like this was fixed in #526. As you said, using a newer version of the script will resolve the issue.