Editing Octave for Microsoft Windows
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
:''This article is about using pre-built installers of Octave for Windows; for instructions about building it, see [[Windows Installer]].'' | :''This article is about using pre-built installers of Octave for Windows; for instructions about building it, see [[Windows Installer]].'' | ||
{{Note|Windows installers are available for the latest version of '''Octave ({{Release}}, released on {{Release Date}})''' from https:// | {{Note|Windows installers are available for the latest version of '''Octave ({{Release}}, released on {{Release Date}})''' from https://ftp.gnu.org/gnu/octave/windows/.}} | ||
Users are encouraged to use the latest version unless a specific feature or requirement | Users are encouraged to use the latest version unless a specific feature or requirement warrants using an older version of the software. Version specific instructions and installation notes are provided below. | ||
:'''Note:''' As of version 4.4.1, '''Octave no longer supports Windows XP'''. There may be some workarounds to get Octave installed and running in command line mode (see Bug {{bug|54662}}), but maintainers cannot provide support and troubleshooting for this beyond what has already been documented. | |||
:'''Note:''' As of version 4.4.1, '''Octave no longer supports Windows XP'''. There may be some workarounds to get Octave installed and running in command line mode (see Bug {{bug|54662}}), but maintainers cannot provide support and troubleshooting for this beyond what has already been documented. | |||
=Installers for Microsoft Windows= | =Installers for Microsoft Windows= | ||
The easiest way to install GNU Octave on Microsoft Windows is by using [http://hg.octave.org/mxe-octave/ MXE] builds. For the current release, both 32-bit and 64-bit installers and zip archived packages (.zip and .7z formats) can be found at https:// | The easiest way to install GNU Octave on Microsoft Windows is by using [http://hg.octave.org/mxe-octave/ MXE] builds. For the current release, both 32-bit and 64-bit installers and zip archived packages (.zip and .7z formats) can be found at https://www.gnu.org/software/octave/download.html under the Windows tab. | ||
* For executable (.exe) 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 non-ASCII characters. Shortcuts to the program will be created automatically | * For executable (.exe) 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: | * For the 7z/zip archives: | ||
# Extract the file content to a directory on the harddrive (such as {{Path|C:\Octave}}). Spaces or non-ASCII characters in the path are discouraged and may cause program errors. | # Extract the file content to a directory on the harddrive (such as {{Path|C:\Octave}}). Spaces or non-ASCII characters in the path are discouraged and may cause program errors. | ||
# Manually create a shortcut to the {{Path|octave | # Manually create a shortcut to the {{Path|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.) | ||
# If a command-line only instance of Octave is desired, the user can create another shortcut as stated above, right-click on the shortcut, select Properties, and add <code>--no-gui</code> to the end of the Target field. | # If a command-line only instance of Octave is desired, the user can create another shortcut as stated above, right-click on the shortcut, select Properties, and add <code>--no-gui</code> to the end of the Target field. | ||
# IMPORTANT: Run the {{Path|post-install.bat}} file before running Octave the first time to reduce plot delays due to the Windows font cache and make the pre-installed packages visible to the system. | # IMPORTANT: Run the {{Path|post-install.bat}} file before running Octave the first time to reduce plot delays due to the Windows font cache and make the pre-installed packages visible to the system. | ||
* | * note: users who have problems running .vbs files due to local security policy or software can instead make a shortcut to the {{Path|octave.bat}} file located in {{Path|\mingw32\bin}} or {{Path|\mingw64\bin}}, depending on the version of Octave installed. | ||
==Octave Packages== | ==Octave Packages== | ||
Line 32: | Line 29: | ||
>> pkg global_list | >> pkg global_list | ||
Octave versions for Windows prior to 6.1.0 defaulted to always making changes to global packages | Octave versions for Windows prior to 6.1.0 defaulted to always using and making changes to global packages. The default is now to follow the same behavior on all platforms, and for all package updates and installations to apply to local or global package locations according to whether or not the user is running with Administrative privileges (on Windows, this is usually accomplished by running as an Administrator privileged account, or running Octave with the "Run as Administrator" option). Alternatively, some pkg command options can force octave to try to use either the local or global packages. | ||
===Pre-installed Packages=== | ===Pre-installed Packages=== | ||
Line 40: | Line 37: | ||
>> pkg list | >> pkg list | ||
The output for preinstalled global packages included with version | The output for preinstalled global packages included with version 6.1.0 when installed into {{Path|C:\Octave}} is: | ||
Package Name | Version | Installation directory | Package Name | Version | Installation directory | ||
---------------------+---------+----------------------- | ---------------------+---------+----------------------- | ||
audio | 2.0. | audio | 2.0.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\audio-2.0.2 | ||
communications | 1.2.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\communications-1.2.2 | |||
control | 3.2.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\control-3.2.0 | |||
data-smoothing | 1.3.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\data-smoothing-1.3.0 | |||
database | 2.4.4 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\database-2.4.4 | |||
dataframe | 1.2.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\dataframe-1.2.0 | |||
dicom | 0.4.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\dicom-0.4.0 | |||
financial | 0.5.3 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\financial-0.5.3 | |||
fits | 1.0.7 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\fits-1.0.7 | |||
fuzzy-logic-toolkit | 0.4.5 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\fuzzy-logic-toolkit-0.4.5 | |||
ga | 0.10.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\ga-0.10.1 | |||
general | 2.1.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\general-2.1.1 | |||
generate_html | 0.3.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\generate_html-0.3.2 | |||
geometry | 4.0.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\geometry-4.0.0 | |||
gsl | 2.1.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\gsl-2.1.1 | |||
image | 2.12.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\image-2.12.0 | |||
instrument-control | 0.6.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\instrument-control-0.6.0 | |||
interval | 3.2.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\interval-3.2.0 | |||
io | 2.6.3 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\io-2.6.3 | |||
linear-algebra | 2.2.3 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\linear-algebra-2.2.3 | |||
lssa | 0.1.4 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\lssa-0.1.4 | |||
ltfat | 2.3.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\ltfat-2.3.1 | |||
mapping | 1.4.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\mapping-1.4.1 | |||
matgeom | 1.2.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\matgeom-1.2.2 | |||
miscellaneous | 1.3.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\miscellaneous-1.3.0 | |||
nan | 3.5.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\nan-3.5.0 | |||
netcdf | 1.0.14 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\netcdf-1.0.14 | |||
nurbs | 1.3.13 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\nurbs-1.3.13 | |||
ocs | 0.1.5 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\ocs-0.1.5 | |||
optim | 1.6.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\optim-1.6.0 | |||
optiminterp | 0.3.6 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\optiminterp-0.3.6 | |||
quaternion | 2.4.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\quaternion-2.4.0 | |||
queueing | 1.2.7 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\queueing-1.2.7 | |||
signal | 1.4.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\signal-1.4.1 | |||
sockets | 1.2.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\sockets-1.2.1 | |||
sparsersb | 1.0.8 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\sparsersb-1.0.8 | |||
splines | 1.3.3 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\splines-1.3.3 | |||
statistics | 1.4.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\statistics-1.4.2 | |||
stk | 2.6.1 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\stk-2.6.1 | |||
strings | 1.2.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\strings-1.2.0 | |||
struct | 1.0.16 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\struct-1.0.16 | |||
symbolic | 2.9.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\symbolic-2.9.0 | |||
tisean | 0.2.3 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\tisean-0.2.3 | |||
tsa | 4.6.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\tsa-4.6.2 | |||
video | 2.0.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\video-2.0.0 | |||
windows | 1.5.0 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\windows-1.5.0 | |||
zeromq | 1.5.2 | C:\Octave\octave-6.1.0-w64\mingw64\share\octave\packages\zeromq-1.5.2 | |||
Note that the included packages shown above are stored in the default ''global package location'' within the Octave installation folder. | |||
If Octave was installed from a zip or 7z archive and you did not run the {{Path|post-install.bat}} file, you may not see any packages listed. In that case you need to run: | If Octave was installed from a zip or 7z archive and you did not run the {{Path|post-install.bat}} file, you may not see any packages listed. In that case you need to run: | ||
Line 101: | Line 95: | ||
>> pkg rebuild | >> pkg rebuild | ||
That will force octave to look for both ''local'' and ''global'' packages in the set locations to repopulate the list of available packages. Note that 'local' packages always take precedence if the same package is present in both locations | That will force octave to look for both ''local'' and ''global'' packages in the set locations to repopulate the list of available packages. Note that 'local' packages always take precedence if the same package is present in both locations. | ||
===Package Installation and Update=== | ===Package Installation and Update=== | ||
Line 119: | Line 111: | ||
>> pkg install package_file_name.tar.gz | >> pkg install package_file_name.tar.gz | ||
Note that all of the commands above will perform ''local'' or ''global'' package installs according to the user's Administrator access level. E.g., if an update is found for a global package with a non-elevated user | Note that all of the commands above will perform ''local'' or ''global'' package installs according to the user's Administrator access level. E.g., if an update is found for a global package with a non-elevated user, the updated version will be installed to the ''local'' package location, leaving the old version intact in the ''global'' package location. This behavior can be changed by calling the install command with the {{Path|-global}} option. For example: | ||
To install a global package to the latest version (requires write-access to the global-list location) you can use: | |||
>> pkg install -forge -global <package_name> | >> pkg install -forge -global <package_name> | ||
Note that the update command does not take -local or -global options, and always performs an update according to the user's Administrator access level. | |||
Detailed instructions for installing individual Octave Forge packages are given at https://octave.sourceforge.io/packages.php. | Detailed instructions for installing individual Octave Forge packages are given at https://octave.sourceforge.io/packages.php. | ||
=GNU Octave on [https://cygwin.com/ cygwin]= | =GNU Octave on [https://cygwin.com/ cygwin]= | ||
*'''Maintainer:''' Marco Atzeri | *'''Maintainer:''' Marco Atzeri | ||
*'''Latest release:''' | *'''Latest release:''' 2020-02-26 | ||
*Latest packages: | *Latest packages: | ||
:octave- | :octave-5.2.0-1 | ||
:Its announce on cygwin mailing list [https://cygwin.com/ | :Its announce on cygwin mailing list [https://cygwin.com/ml/cygwin-announce/2020-02/msg00028.html] | ||
: | :Octave Forge packages have each a cygwin package. | ||
:Its announce on cygwin mailing list [https://cygwin.com/ml/cygwin-announce/2017-01/msg00078.html] | |||
: Full cygwin package list is available here [https://cygwin.com/packages/] | : Full cygwin package list is available here [https://cygwin.com/packages/] | ||
: At | : At 2017-04-06, 64 forge packages were available. | ||
*To install : | *To install : | ||
: run setup-x86_64.exe (for cygwin 64 bit) and select them in the Math category. | : 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. | : All the package dependencies will be also installed. | ||
Line 166: | Line 145: | ||
==Notes for cygwin== | ==Notes for cygwin== | ||
*When building from development source (default branch) | |||
: "make check" | |||
:passes almost all the tests. Only, and not substantial, failures are: | |||
:<syntaxhighlight lang="bash"> | |||
/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 | |||
</syntaxhighlight> | |||
* To build GNU Octave from cygwin source package, you need to install "cygport" and the relevant development libraries | * To build GNU Octave from cygwin source package, you need to install "cygport" and the relevant development libraries | ||
:<syntaxhighlight lang="bash"> | :<syntaxhighlight lang="bash"> | ||
tar -xf octave- | tar -xf octave-5.1.0-1-src.tar.xz | ||
cygport octave.cygport almostall | cygport octave.cygport almostall | ||
</syntaxhighlight> | </syntaxhighlight> | ||
:see | :see [https://cygwinports.github.io/cygport/ cygport documentation] for further info. | ||
=General info= | =General info= |