msys2-installer icon indicating copy to clipboard operation
msys2-installer copied to clipboard

Installer hangs on Arm64 Windows 11

Open Blackhex opened this issue 10 months ago • 34 comments

Description

The msys2-x86_64-20250221.exe installer hangs on Arm64 Windows 11 on the first page when the first Next button is clicked. Quit button works. The issue is not happening with msys2-x86_64-20241208.exe installer.

Steps to Reproduce

  1. Download the msys2-x86_64-20250221.exe installer from https://github.com/msys2/msys2-installer/releases/download/2025-02-21/msys2-x86_64-20250221.exe
  2. Launch it.
  3. Click the Next button.

Expected Behavior

The installer progresses on the next page, the Next button is active and it can be clicked to proceed further.

Actual Behavior

The Next button gets inactive and the installer stays on the first page. The Quit button works as expected, the installer window can be resized.

Workarounds

  • Install MSYS2 using older installer https://github.com/msys2/msys2-installer/releases/download/2024-12-08/msys2-x86_64-20241208.exe, then update the system using pacman -Syuu.
  • Use portable MSYS2 package https://github.com/msys2/msys2-installer/releases/download/2025-02-21/msys2-base-x86_64-20250221.tar.xz.

Screenshot

Image

Installer Log

IFW Version: 4.8.1, built with Qt 6.8.0.
Build date: Feb  2 2025
Installer Framework SHA1: 12eab2bbe525fd6533b498f09f6a30c64c75d8b1
[0] Arguments: C:\Users\radekbarton\Downloads\msys2-x86_64-20250221.exe, -d
[5] Operations sanity check succeeded.
[14] Using metadata cache from "C:/Users/radekbarton/AppData/Local/cache\\qt-installer-framework\\d75f1c19-3379-3717-ae8d-1404b51494a9"
[15] Found 0 cached items.
[16] Language: en-US
[3635] Fetching latest update information...
[3641] Warning: Cannot retrieve remote tree Updates.xml contains invalid content: PackageUpdate element without ReleaseDate.

System Info

Edition	Windows 11 Enterprise
Version	24H2
Installed on	‎10/‎11/‎2024
OS build	26100.3323
Experience	Windows Feature Experience Pack 1000.26100.54.0

Blackhex avatar Feb 26 '25 19:02 Blackhex

Here is how it (20250221) looks like on Windows 11:

Image

So it seems it hangs for you before setting the "theme" and before any of the settings are loaded to adjust the menu.

IFW Version: 4.8.1, built with Qt 6.8.0.
Build date: Feb  2 2025
Installer Framework SHA1: 12eab2bbe525fd6533b498f09f6a30c64c75d8b1
[0] Arguments: C:\Users\user\Downloads\msys2-x86_64-20250221.exe, -d
[3] Operations sanity check succeeded.
[7] Using metadata cache from "C:/Users/user/AppData/Local/cache\\qt-installer-framework\\d75f1c19-3379-3717-ae8d-1404b51494a9"
[7] Found 0 cached items.
[7] Language: en-AT
[48] Loaded control script ":/metadata/installer-config/control_js.js"
[48] Using control script: ":/metadata/installer-config/control_js.js"

lazka avatar Feb 27 '25 05:02 lazka

Does the latest nightly build make a difference?

lazka avatar Feb 27 '25 06:02 lazka

The latest nightly build from 2 hours ago suffers with the same issue too. Tested on two different Arm64 machines. But I have noticed that after accidentally keeping the installer windows open overnight the button got enabled, probably after some significantly long timeout.

Blackhex avatar Feb 27 '25 08:02 Blackhex

Hm, ok, thanks for testing.

lazka avatar Feb 27 '25 09:02 lazka

This reproduces for me too.

Peter0x44 avatar Feb 28 '25 07:02 Peter0x44

same problem here, but interestingly worked on another WOA machine that I have

davecramer avatar Mar 02 '25 11:03 davecramer

I wonder if WSH + JScript wouldn't serve a better base for the installer.

Just unsure if WSH works on WoA.

WoA owners could easily test that by downloading installer.hta PoC from my repo and simply double clicking it.

Description of the PoC: https://github.com/sskras/installer.hta#initial-try

sskras avatar Mar 04 '25 09:03 sskras

Random shot in the dark, the latest nightly is built with qt 6.8.2 instead of 6.8.0.

lazka avatar Mar 07 '25 12:03 lazka

Nope, same issue for me with the 1 hour old latest.

Blackhex avatar Mar 07 '25 12:03 Blackhex

same issue on Lenovo YOGA Snapdragon(R) X Elite - X1E78100 - Qualcomm(R) Oryon(TM) CPU 3.42 GHz win 11 home edition

DaedlyKitten avatar Mar 19 '25 08:03 DaedlyKitten

Does the .sfx.exe file work from release page https://github.com/msys2/msys2-installer/releases ? After executing it, msys2 will be installed in same directory where it is placed.

Biswa96 avatar Mar 19 '25 09:03 Biswa96

I am having the exact same issue here; my installer looks exactly the same when using arm64 Windows.

viveksh1 avatar Mar 24 '25 03:03 viveksh1

Does the .sfx.exe file work from release page https://github.com/msys2/msys2-installer/releases ? After executing it, msys2 will be installed in same directory where it is placed.

@Biswa96 Yes the self-extracting executable works, and so would extracting the MSYS2 .zip yourself. But of course, that isn't as customizable when it comes to selecting components and shortcuts as the installer, so it would certainly be nice if this issue were resolved.

viveksh1 avatar Mar 24 '25 03:03 viveksh1

 .\msys2-x86_64-20250221.exe -d -d -d
IFW Version: 4.8.1, built with Qt 6.8.0.
Build date: Feb  2 2025
Installer Framework SHA1: 12eab2bbe525fd6533b498f09f6a30c64c75d8b1
[0] Arguments: C:\Users\<redacted>\Downloads\msys2-x86_64-20250221.exe, -d, -d, -d
[0] Resource tree:
[0]      :/qt
[0]      :/qt/etc
[0]      :/qt/etc/qt.conf
[0]      :/uninstall.png
[1]      :/installer.png
[1]      :/installer.ico
[1]      :/keepinstalled.png
[1]      :/installer.icns
[1]      :/install.png
[1]      :/keepuninstalled.png
[2]      :/qpdf
[2]      :/qpdf/sRGB2014.icc
[5] Operations sanity check succeeded.
[6] Warning: Could not load IFW translation for language "English"
[11] Using metadata cache from "C:/Users/<redacted>/AppData/Local/cache\\qt-installer-framework\\d75f1c19-3379-3717-ae8d-1404b51494a9"
[11] Found 0 cached items.
[12] Language: en-US
[1784] Fetching latest update information...
[1790] Warning: Cannot retrieve remote tree Updates.xml contains invalid content: PackageUpdate element without ReleaseDate.

some context from logging, if it helps. The last warning looks suspicious but is probably nothing

Peter0x44 avatar Mar 25 '25 15:03 Peter0x44

I am having a similar issue on an HP Omnibook X 14

When I run the installer from explorer by double clicking it, it hangs with a white screen like what was described in the issue, but when I run the same installer .\msys2-x86_64-20241208.exe -d -d -d from the command line, it works fine.

sadan4 avatar Mar 26 '25 18:03 sadan4

Funnily enough, the Ruby installer also offers to download MSYS2 for you. The graphics in that installer works fine. The installation still ultimately fails though.

galomi04 avatar Apr 01 '25 06:04 galomi04

I am also getting the same issue. Running Parallels on a MacBook Pro. Was able to successfully install it via the workaround.

MasterDynamas avatar Apr 05 '25 12:04 MasterDynamas

I tried the self-extracting installer which successfully installed the files. There is another problem though. Namely, the fact that the programs, even though installed, do not work. After opening up the clang aarch64 program, it tells me that i need to run rebase all. Rebase segfaults upon launch.

The workaround using -d -d -d with the regular installer is not working for me, unless there is some step in the workaround that I'm missing. I don't know if it matters, but I used pwsh7.50 to try this. I'm on a Surface 7 Laptop.

galomi04 avatar Apr 06 '25 06:04 galomi04

Has anyone reported this to Qt or qt-installer-framework (if they're not the same)? I'd try to debug but I'm not interested in learning the internals of Qt to do so.

jeremyd2019 avatar Apr 06 '25 16:04 jeremyd2019

I tried the self-extracting installer which successfully installed the files. There is another problem though. Namely, the fact that the programs, even though installed, do not work. After opening up the clang aarch64 program, it tells me that i need to run rebase all. Rebase segfaults upon launch.

I have not seen that. You should not need rebase for x86_64 binaries. Do you perhaps have mandatory ASLR policies? https://gitforwindows.org/why-git-for-windows-does-not-work-with-mandatory-address-space-layout-randomization.html

jeremyd2019 avatar Apr 06 '25 16:04 jeremyd2019

I tried the self-extracting installer which successfully installed the files. There is another problem though. Namely, the fact that the programs, even though installed, do not work. After opening up the clang aarch64 program, it tells me that i need to run rebase all. Rebase segfaults upon launch.

I have not seen that. You should not need rebase for x86_64 binaries. Do you perhaps have mandatory ASLR policies? https://gitforwindows.org/why-git-for-windows-does-not-work-with-mandatory-address-space-layout-randomization.html

That was it. Thanks. Clang aarch64 now works!

galomi04 avatar Apr 08 '25 12:04 galomi04

I'm having the same issue with an ARM64 Windows 11 VM on an M1 Mac under UTM. This used to work in the past.

Midar avatar Apr 18 '25 13:04 Midar

A workaround is to use the sfx installer or zstd achieve and run msys2_shell.cmd after extraction:

          (New-Object System.Net.WebClient).DownloadFile("https://repo.msys2.org/distrib/msys2-x86_64-latest.sfx.exe", "msys2-x86_64-latest.sfx.exe")
          (New-Object System.Net.WebClient).DownloadFile("https://repo.msys2.org/distrib/msys2-x86_64-latest.sfx.exe.sig", "msys2-x86_64-latest.sfx.exe.sig")
          gpg --keyserver keyserver.ubuntu.com --recv "0EBF 782C 5D53 F7E5 FB02  A667 46BD 761F 7A49 B0EC"
          gpg --verify msys2-x86_64-latest.sfx.exe.sig

          .\msys2-x86_64-latest.sfx.exe -y -oC:\

          C:\msys64\msys2_shell.cmd -defterm -here -no-start -clangarm64

          echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
          echo "C:\msys64\clangarm64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

ntkme avatar Apr 24 '25 20:04 ntkme

      echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
      echo "C:\msys64\clangarm64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

In GHA, you might be better served by using the msys2/setup-msys2 action. But that won't allow you to install to C:\msys64 (it expects that the GitHub images come with an msys2 install already there, but the arm64 runner doesn't: actions/partner-runner-images#88)

jeremyd2019 avatar Apr 24 '25 20:04 jeremyd2019

But that won't allow you to install to C:\msys64 (it expects that the GitHub images come with an msys2 install already there, but the arm64 runner doesn't: actions/partner-runner-images#88)

Turns out that you can trick msys2/setup-msys2 to work on windows-11-arm runners by setting location: C:\, see https://github.com/mxschmitt/action-tmate/commit/877e019b4c15232d15c3b8e4de31f91d845c69f7 for more details.

But do make sure to configure msystem: CLANGARM64, otherwise it will default to MINGW64!

dscho avatar Jul 07 '25 10:07 dscho

I'd love a workaround for this for those of us who don't normally do Windows - I tried installing MSYS2 on windows arm just now, ran into the described issue, and I can see that there's a workaround, but my POSIX-addled brain can't quite figure it out... the entire reason I'm installing MSYS2 is so I don't have to Windows any more than necessary. :) :) :)

jeffrizzo avatar Jul 08 '25 17:07 jeffrizzo

same issue for me. however when I installed the latest 2024-01-13 .exe, the installation success.

kevsersrca avatar Jul 31 '25 10:07 kevsersrca

Looking at the qt-installer code, it seems it parses its own binary to extract the installer config (https://github.com/qtproject/installer-framework/blob/11046d6f77ed2d59b7b1cdbae52f487304ce4f42/src/libs/installer/createlocalrepositoryoperation.cpp#L312). Maybe that fails due to emulation (??).

I've created an arm64 variant of the installer here if someone can give it a try: https://github.com/msys2/msys2-installer/actions/runs/17174248764 (see installer-arm64 at the bottom)

Seems a bit of a waste offering different installers, but hey.

lazka avatar Aug 23 '25 10:08 lazka

seems to work for me on 24h2 arm64

jeremyd2019 avatar Aug 23 '25 20:08 jeremyd2019

Looking at the qt-installer code, it seems it parses its own binary to extract the installer config (https://github.com/qtproject/installer-framework/blob/11046d6f77ed2d59b7b1cdbae52f487304ce4f42/src/libs/installer/createlocalrepositoryoperation.cpp#L312). Maybe that fails due to emulation (??).

I've created an arm64 variant of the installer here if someone can give it a try: https://github.com/msys2/msys2-installer/actions/runs/17174248764 (see installer-arm64 at the bottom)

Seems a bit of a waste offering different installers, but hey.

This worked perfectly for me on my surface pro 11, on windows 24H2 26100.4946.

JWWolstenholme avatar Aug 26 '25 18:08 JWWolstenholme