Octave for Windows Subsystem for Linux
- This article is about tips to use octave on linux platform using WSL(Windows Subsystem for linux)
On 64 bit Windows 10, we can now use linux applications using WSL(Windows Subsystem for linux). We now use and build linux version Octave. The original page editor only uses Ubuntu 18.04 so that description is limited to Ubuntu. Edit from people who use other distribution are welcome
Preparation
- The first thing you carry out to install WSL. See Microsft Page [1].
- For executable installers: the user can simply run the downloaded file and follow the on-screen installation prompts. It is recommended that the installation path does not include spaces or non-ASCII characters. Shortcuts to the program will be created automatically.
- For the 7z/zip archives:
- Extract the file content to a directory on the harddrive (such as C:\Octave). Spaces or non-ASCII characters in the path are discouraged and may cause program errors.
- Manually create a shortcut to the octave.vbs file in the main installation directory. (Right-click on the file, select 'Create Shortcut', and move the new shortcut to your desired location.)
- Run the fc_update.bat file before running Octave to reduce plot delays due to the Windows font cache.
Packages
A selection of pre-built, Octave Forge packages are included with for all versions of the official Windows release. If you installed Octave using the executable installer, you can confirm the package list by typing the command below at the Octave command prompt:
>> pkg list
If instead you installed Octave from the .zip archive, you need first to rebuild the package list on your local machine. (The command above will produce a blank output and packages will be inaccessible before rebuilding.) Do this by typing the following command:
>> pkg rebuild
The package list should now be populated with the pre-installed packages. All packages can be updated to the latest version by running:
>> pkg update
Other packages can be installed by running:
>> pkg install -forge <package name>
To install a new or updated package version manually, the package file can be downloaded from the Octave Forge website to the working directory and can be installed using:
>> pkg install package_file_name.tar.gz
Detailed instructions for installing individual Octave Forge packages are given at https://octave.sourceforge.io/packages.php.
Note that a security related issue in Windows XP currently prevents Octave from retrieving packages from the website automatically. When running under that Operating System manual package installation is necessary.
GNU Octave 4.4.1 on cygwin
- Maintainer: Marco Atzeri
- Latest release: 2018-08-17
- Latest packages:
- octave-4.4.1-1
- Its announce on cygwin mailing list [2]
- Octave Forge packages have each a cygwin package.
- Its announce on cygwin mailing list [3]
- Full cygwin package list is available here [4]
- At 2017-04-06, 64 forge packages were available.
- To install :
- run cygwin setup-x86.exe (for cygwin 32 bit) or setup-x86_64.exe (for cygwin 64 bit) and select them in the Math category.
- All the package dependencies will be also installed.
- Graphics is based on X and to plot you will need to start octave within xterm (or similar).
- I recommend to install "xinit", "xlaunch" and "gnuplot". These packages will pull all the functional Xserver.
- Otherwise the only graphics will be ASCII art ;-)
Notes for cygwin
- When building from development source (default branch)
- "make check"
- passes almost all the tests. Only, and not substantial, failures are:
/pub/hg/octave/src/data.cc : 8 failures due to different handling of complex Inf on sort /pub/hg/octave/src/syscalls.cc: 1 failure on fork. This disappears when octave is installed /pub/hg/octave/scripts/sparse/svds.m: 1 failure due to test sensitivity on starting point. See https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2011-September/024715.html
- To build GNU Octave from cygwin source package, you need to install "cygport" and the relevant development libraries
tar -xf octave-4.4.1-1-src.tar.xz cygport octave.cygport almostall
- see cygport documentation for further info.
General info
Be advised that GNU Octave is primarily developed on GNU/Linux and other POSIX conform systems. The ports of GNU Octave to Microsoft Windows use different approaches to get most of the original Octave and adapt it to Microsoft Windows idiosyncrasies (e.g. dynamic libraries, file paths, permissions, environment variables, GUI system, etc). Bear this in mind and don't panic if you get unexpected results. There are a lot of suggestions on the mailing lists for tuning your Octave installation. GNU Octave standalone ports for Windows are independently compiled using either the MinGW or Microsoft Visual Studio development environments (3.6 or before).
See also
- Octave for Microsoft Windows (outdated) for older instructions.