Octave available as MSYS2 package

Like briefly discussed in last month’s developer meeting, Octave is now available as a package in MSYS2:
Base Package: mingw-w64-octave - MSYS2 Packages

To be clear: That package is not intended to replace the “official” installer created with MXE Octave.
But there might be some use cases that are better suited with this package instead of the “official” installer.

See also the respective section in this wiki article:
Octave for Microsoft Windows (GNU Octave in MSYS2)- Octave

The package works for me. But I didn’t do any extensive testing.

Any feedback on bugs, missing features (compared to the “official” Windows installer), general user experience, … are welcome.

1 Like

Thanks for this @mmuetzel. I tried it last week and it kind of worked as expected.

I might not start MSYS2 the right way but from its terminal, I must type /mingw64/bin/octave to start Octave, i.e. it is not in the PATH. The GUI opened as expected with the --gui flag and everything seemed to work fine. Without the --gui flag, Octave starts and the prompt goes back to the terminal without having time to run any Octave command, and looking in the Task Manager, there is a octave-gui.exe running, using one core, that doesn’t get killed when the MSYS2 terminal is closed.

I should have read the wiki first :upside_down_face:. I was using “MSYS2 MSYS” instead of “MSYS2 MinGW 64-bit”: with this, I can call octave-cli and octave-gui and start the GUI with octave-gui --gui.

Thank you for testing.

I also noticed that the octave wrapper program didn’t quite work as expected.
I was told elsewhere that this might be caused by our use of spawnv with P_OVERLAY which supposedly won’t work from Windows terminals.
That is probably the following line in liboctave/wrappers/unistd-wrappers.c:

  int status = spawnv (P_OVERLAY, file, sanitized_argv);

I don’t know the “correct” way to replace a running process (self) by a new one here…

Skipping the wrapper program and calling the “actual” executables directly is rather a work-around than a solution…