pharo-project / pharo-launcher

Lets you manage your pharo images and download new ones
https://pharo-project.github.io/pharo-launcher/
MIT License
109 stars 46 forks source link

Pharo Launcher 3.0.1 on Windows 11 not able to run launch 32-bit vms/images #593

Open technoscavenger opened 1 year ago

technoscavenger commented 1 year ago

Describe the bug 64-bit version of Pharo Launcher 3.0.1 can create image and run the following VM/images:

The following does not work (run/launch):

To Reproduce Steps to reproduce the behavior:

  1. Install Windows 11 22H2
  2. Install Pharo Launcher 3.0.1
  3. In Pharo Launcher main window, click on New ("Open the image creation UI"). Then create Pharo 10.0 - 32bit (stable). Wait until download completes (the window closes on download completion).
  4. Then try to launch the new VM/image. Observe that it does not run the new VM/image here.

Expected behavior It launcher should be able to run 32-bit VM/images.

Screenshots N/A

Version information:

Expected development cost I don't know.

Additional context I tried to downloading the 32-bit VM and image of Pharo10 and it works.

demarey commented 1 year ago

Thank you for the report. Indeed, if you are on a Windows 64, downloaded VMs are 64-bit, so it will not run 32-bit images. Why do you need 32-bit images on a 64-bit system? I will see how to warn about this.

daniels220 commented 1 year ago

We would like to deploy using a 32-bit VM to save memory overhead (we run many separate servers each with moderate memory use, such that they will never individually need a 64-bit address space, but total memory use is important), at which point development should happen in the same environment to be safe. Is there any reason PharoLauncher can't just consider 32-bit VMs as a separate, incompatible version from the corresponding 64-bit one—which is in fact what they are—and download the correct one for the image?

MarcusDenker commented 1 year ago

We should really think if we want to support 32bit forever. e.g. on some architectures, we can not even build 32bit binaries anymore (mac).

Therefore, it sees not much use and for sure we will see odd bugs happening in 32bit due to that.

ARM officially stopped 32bit even for embedded systems, they argue that the security features they can support with 64bit are more important.