Difference between revisions of "Octave for Microsoft Windows"

From Octave
Jump to navigation Jump to search
(Half done cos I am sleepy. Will finish in the morning)
 
 
(178 intermediate revisions by 55 users not shown)
Line 1: Line 1:
GNU Octave is primarily developed on GNU/Linux and other POSIX conformal systems. The ports of GNU Octave to Windows use different approaches to get most of the original Octave and adapt it to Microsoft Windows idiosyncrasies (eg: 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.
+
:''This article is about using pre-built installers of Octave for Windows; for instructions about building it, see [[Windows Installer]].''
  
About version numbers (March 2011):
+
{{Note|Windows installers are available for the latest version of '''Octave ({{Release}}, released on {{Release Date}})''' from https://ftp.gnu.org/gnu/octave/windows/.}}
*The 3.4.x are current releases.
 
*The 3.2.x are previous releases.
 
  
=Standalone ports=
+
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.
==Octave 3.2.4 for Windows MinGW32==
 
  
'''Download:''' http://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.2.4%20for%20Windows%20MinGW32%20Installer/Octave-3.2.4_i686-pc-mingw32_gcc-4.4.0_setup.exe/download
+
:'''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.
  
'''Maintainer:''' Benjamin Lindner
+
=Installers for Microsoft Windows=
  
'''Latest release:''' 2010-03-25
+
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.
  
Includes:
+
* 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.
  
*GNU Octave, version 3.2.4 (i686-pc-mingw32)
+
* For the 7z/zip archives:
*atlas 3.8.2
+
# 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.
*mingw32 (GCC 4.4.0 on http://www.mingw.org )
+
# 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.)  
*gnuplot Version 4.4.0 specially prepared for octave
+
# 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.
*mini-MSYS 1.0.11
+
# 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.
*notepad++ 5.6.7 as text editor
 
*Some components of octave-forge packages
 
**actuarial-1.1.0 (New!)
 
**audio-1.1.4
 
**benchmark-1.1.1
 
**bim-1.0.0 (New!)  
 
**bioinfo-0.1.2
 
**combinatorics-1.0.9
 
**communications-1.0.10
 
**control-1.0.11
 
**data-smoothing-1.2.0
 
**econometrics-1.0.8
 
**fenv-0.1.0 (New!)
 
**financial-0.3.2
 
**fixed-0.7.10
 
**fpl-1.0.0 (New!)
 
**ga-0.9.7
 
**general-1.2.0 (updated)
 
**generate_html-0.1.2 (New!)
 
**gnuplot-1.0.1 (New!)
 
**gpc-0.1.7
 
**gsl-1.0.8
 
**ident-1.0.7
 
**image-1.0.10
 
**informationtheory-0.1.8
 
**integration-1.0.7
 
**io-1.0.11 (updated)
 
**irsa-1.0.7
 
**java-1.2.7 (New!)
 
**jhandles-0.3.5 (New!)
 
**linear-algebra-1.0.8
 
**mapping-1.0.7
 
**miscellaneous-1.0.9
 
**missing-functions-1.0.2
 
**msh-1.0.0 (New!)
 
**nlwing2-1.1.1 (New!)
 
**nnet-0.1.10
 
**nurbs-1.0.3 (New!)
 
**ocs-0.0.4 (New!)
 
**oct2mat-1.0.7 (New!)
 
**octcdf-1.0.17 (updated 1.0.17+)
 
**octgpr-1.1.5 (New!)
 
**odebvp-1.0.6
 
**odepkg-0.6.10 (updated)
 
**optim-1.0.12 (updated)
 
**optiminterp-0.3.2
 
**outliers-0.13.9
 
**physicalconstants-0.1.7
 
**plot-1.0.7
 
**quaternion-1.0.0
 
**signal-1.0.10
 
**simp-1.1.0 (New!)
 
**sockets-1.0.5
 
**specfun-1.0.8
 
**special-matrix-1.0.7
 
**spline-gcvspl-1.0.8 (New!)
 
**splines-1.0.7
 
**statistics-1.0.9
 
**strings-1.0.7
 
**struct-1.0.7
 
**symband-1.0.10 (New!)
 
**symbolic-1.0.9
 
**time-1.0.9
 
**video-1.0.2 (New!)
 
**windows-1.0.8(updated to 1.0.8+)
 
**zenity-0.5.7
 
  
Notes:
+
==Packages==
  
*Although there are some remaining known issues, some bugs reported to the octave-3.2.3 have been corrected. In addition, useful octave-forge packages are added (Java, Jhandles, ....). Please see 'RELEASE_NOTES.txt' to know them in details: http://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.2.4%20for%20Windows%20MinGW32%20Installer/RELEASE_NOTES-3.2.4.txt/download
+
A selection of pre-built, [[Octave Forge]] packages are included with for all versions of the official Windows release. If you followed the installation directions above you can confirm the package list by typing the command below at the Octave command prompt:
*Default Octave install folder changed to to like 'C:\Octave\3.2.4_gcc-4.4.0\'. If you have installed octave in the folder with path name having white a space or white spaces, for example, 'C:\Program Files\', 'pkg install (package name)' command will be failed: http://sourceforge.net/mailarchive/message.php?msg_name=4A1AF9EF.1000005@hotmail.com
 
  
Additional important topics found after the release:
+
  >> pkg list
*It is reported that the oct2mat octave-forge package affects plot related commands. The purpose of the package is to convert m-file into matlab-compatible coding style. Please see the documentation of the octave-forge (oct2mat - freetb4matlab) from http://octave.sourceforge.net/functions_by_package.php)
 
*:Report for this problem: http://old.nabble.com/Re:-Octave-3.2.4-mingw32-available-p28053703.html
 
*:Explanation of the problem: http://old.nabble.com/Re:-Octave-3.2.4-mingw32-available-p28090303.html
 
*:Realistic solution at this moment, do not install the oct2mat package when you install octave with octave-forge packages if you do not use this package. One one of different solutions is to execute
 
      pkg rebuild -noauto oct2mat
 
*:at the octave prompt and then restart octave. The operation results in the oct2mat package not to be auto-loaded in startup. When you want to use oct2mat, execute "pkg load oct2mat" command.
 
*The plot octave-forge package still have ginput code although the ginput function is now merge into octave itself. Therefore conflict occur if the plot package is installed. To avoid this problem, rename 'ginput.m' in the folder .....\Octave\3.2.4_gcc-4.4.0\share\octave\packages\plot-1.0.7, for example ginput.ob.m. In some computers which has one core CPU, response of ginput is very slow. In the case, modify '__gnuplot_ginput__.m' according to the following thread. http://old.nabble.com/ginput-on-Octave-3.2.4-mingw32-to28093888.html
 
*From gnuplot-4.4.0, the default terminal of gnuplot for windows is the wxt terminal. Some users may set the GNUTERM environmental variable for the windows terminal being default. The gnuplot for windows allows to set GNUTERM to 'win' (abbreviated form) but octave does not recognize the abbreviated form for terminal name. If one would like set GNUTERM to windows terminal, one should specify it as 'windows' (full form) but not 'win' (abbreviated form). In detail see the following thread: http://old.nabble.com/flicking-problem-again-Octave-3.2.4-mingw32-td28038688.html
 
  
==Octave-3.4.2-mingw + octaveforge pkgs==
+
A typical output (for version {{Release}}) is:
#Octave-3.4.2-mingw (without pkgs)
+
                                                                                           
#:Octave3.4.2_gcc4.5.2_20110914.7z - MD5:4AA0DD4C97F73B2E9E0F7370CD8AD719 - http://www.multiupload.com/TCUHKNNH9S
+
    Package Name        | Version | Installation directory
#Octaveforge pkgs, built for Octave-3.4.2-mingw
+
    ---------------------+---------+-----------------------
#:Octave3.4.2_gcc4.5.2_pkgs_20111014.7z - MD5:49097AF3C6FC6CDB58EE83F510A50993 - http://www.multiupload.com/DCWFZOUGZA
+
                  audio  |  2.0.0 | __OH__/share/octave/packages/audio-2.0.0
 +
        communications  |  1.2.2 | __OH__/share/octave/packages/communications-1.2.2
 +
                control  |  3.2.0 | __OH__/share/octave/packages/control-3.2.0
 +
        data-smoothing  |  1.3.0 | __OH__/share/octave/packages/data-smoothing-1.3.0
 +
              database  |  2.4.4 | __OH__/share/octave/packages/database-2.4.4
 +
              dataframe  |  1.2.0 | __OH__/share/octave/packages/dataframe-1.2.0
 +
                  dicom  |  0.2.2 | __OH__/share/octave/packages/dicom-0.2.2
 +
              financial  |  0.5.3 | __OH__/share/octave/packages/financial-0.5.3
 +
                  fits  |  1.0.7 | __OH__/share/octave/packages/fits-1.0.7
 +
    fuzzy-logic-toolkit  |  0.4.5 | __OH__/share/octave/packages/fuzzy-logic-toolkit-0.4.5
 +
                    ga  |  0.10.1 | __OH__/share/octave/packages/ga-0.10.1
 +
                general  |  2.1.0 | __OH__/share/octave/packages/general-2.1.0
 +
          generate_html  |  0.3.1 | __OH__/share/octave/packages/generate_html-0.3.1
 +
              geometry  |  3.0.0 | __OH__/share/octave/packages/geometry-3.0.0
 +
                    gsl  |  2.1.1 | __OH__/share/octave/packages/gsl-2.1.1
 +
                  image  |  2.10.0 | __OH__/share/octave/packages/image-2.10.0
 +
    instrument-control  |  0.4.0 | __OH__/share/octave/packages/instrument-control-0.4.0
 +
              interval  |  3.2.0 | __OH__/share/octave/packages/interval-3.2.0
 +
                    io  |  2.4.13 | __OH__/share/octave/packages/io-2.4.13
 +
        linear-algebra  |  2.2.3 | __OH__/share/octave/packages/linear-algebra-2.2.3
 +
                  lssa  |  0.1.3 | __OH__/share/octave/packages/lssa-0.1.3
 +
                  ltfat  |  2.3.1 | __OH__/share/octave/packages/ltfat-2.3.1
 +
                mapping  |  1.2.1 | __OH__/share/octave/packages/mapping-1.2.1
 +
          miscellaneous  |  1.3.0 | __OH__/share/octave/packages/miscellaneous-1.3.0
 +
                    nan  |  3.4.5 | __OH__/share/octave/packages/nan-3.4.5
 +
                netcdf  |  1.0.12 | __OH__/share/octave/packages/netcdf-1.0.12
 +
                  nurbs  |  1.3.13 | __OH__/share/octave/packages/nurbs-1.3.13
 +
                    ocs  |  0.1.5 | __OH__/share/octave/packages/ocs-0.1.5
 +
                odepkg  |  0.8.5 | __OH__/share/octave/packages/odepkg-0.8.5
 +
                  optim  |  1.6.0 | __OH__/share/octave/packages/optim-1.6.0
 +
            optiminterp  |  0.3.5 | __OH__/share/octave/packages/optiminterp-0.3.5
 +
            quaternion  |  2.4.0 | __OH__/share/octave/packages/quaternion-2.4.0
 +
              queueing  |  1.2.6 | __OH__/share/octave/packages/queueing-1.2.6
 +
                signal  |  1.4.1 | __OH__/share/octave/packages/signal-1.4.1
 +
                sockets  |  1.2.0 | __OH__/share/octave/packages/sockets-1.2.0
 +
              sparsersb  |  1.0.6 | __OH__/share/octave/packages/sparsersb-1.0.6
 +
                specfun  |  1.1.0 | __OH__/share/octave/packages/specfun-1.1.0
 +
                splines  |  1.3.3 | __OH__/share/octave/packages/splines-1.3.3
 +
            statistics  |  1.4.1 | __OH__/share/octave/packages/statistics-1.4.1
 +
                    stk  |  2.6.1 | __OH__/share/octave/packages/stk-2.6.1
 +
                strings  |  1.2.0 | __OH__/share/octave/packages/strings-1.2.0
 +
                struct  |  1.0.16 | __OH__/share/octave/packages/struct-1.0.16
 +
                tisean  |  0.2.3 | __OH__/share/octave/packages/tisean-0.2.3
 +
                    tsa  |  4.6.2 | __OH__/share/octave/packages/tsa-4.6.2
 +
                  video  |  1.2.4 | __OH__/share/octave/packages/video-1.2.4
 +
                windows  |  1.4.0 | __OH__/share/octave/packages/windows-1.4.0
 +
                zeromq  |  1.5.0 | __OH__/share/octave/packages/zeromq-1.5.0
 +
(__OH__) refers to the location of the OCTAVE_HOME environment variable.
  
'''Maintainer:''' Nitzan Arazi
 
'''Latest update:''' 2011-10-14
 
  
Packages are archived by the 7zip. The 7zip software can be download from http://www.7-zip.org/
+
If Octave was installed from a zip of 7z archive and you did not run the {{Path|post-install.bat}} file, you may need to run:
 +
 
 +
  >> pkg rebuild
  
Includes:
+
All packages can be updated to the latest version by running:
 +
 
 +
  >> pkg update
  
    GNU Octave, version 3.4.2 (i686-pc-mingw32)
+
Other packages can be installed by running:
    A new fltk graphics_toolkit is available
 
    gnuplot 4.4.3
 
    fig2dev 3.2.5c
 
    ghostscript 9.0.2
 
    PSTOEDIT 3.50
 
    Msys + MinGW? tool chains
 
    some Octave-forge packages  
 
  
    actuarial-1.1.0
+
  >> pkg install -forge <package name>
    ad-1.0.6
 
    audio-1.1.4
 
    benchmark-1.1.1
 
    bim-1.0.2 (Updated 2011-10-14)
 
    bioinfo-0.1.2
 
    civil-engineering-1.0.7
 
    communications-1.1.0 (Updated 2011-10-14)
 
    control-2.2.0 (Updated 2011-10-14)
 
    data-smoothing-1.2.3 (Updated 2011-10-14)
 
    dataframe-0.8.2
 
    econometrics-1.0.8
 
    fenv-0.1.0
 
    financial-0.3.2
 
    fpl-1.2.0
 
    fuzzy-logic-toolkit-0.2.4 (Updated 2011-10-14)
 
    ga-0.9.8
 
    general-1.2.2
 
    generate_html-0.1.3
 
    geometry-1.1.3 (added on 2011-10-14)
 
    gnuplot-1.0.1
 
    gpc-0.1.7
 
    gsl-1.0.8
 
    ident-1.0.7
 
    image-1.0.15 (Updated 2011-10-14)
 
    informationtheory-0.1.8
 
    integration-1.0.7
 
    io-1.0.15 (Updated 2011-10-14)
 
    irsa-1.0.7
 
    java-1.2.8 (Updated 2011-09-07)
 
    linear-algebra-2.0.0_svn20111014 (Updated 2011-10-14)
 
    mapping-1.0.7
 
    mechanics-1.1.0 (added on 2011-10-14)
 
    miscellaneous-1.0.11 (Updated 2011-09-14)
 
    missing-functions-1.0.2
 
    msh-1.0.2
 
    multicore-0.2.15
 
    nlwing2-1.2.0
 
    nnet-0.1.13
 
    nurbs-1.3.5 (Updated 2011-10-14)
 
    ocs-0.1.1
 
    oct2mat-1.0.7
 
    octclip-1.0.0
 
    octgpr-1.2.0
 
    odebvp-1.0.6
 
    odepkg-0.8.0
 
    optim-1.0.16
 
    optiminterp-0.3.3
 
    outliers-0.13.9
 
    physicalconstants-0.1.7
 
    plot-1.0.8
 
    quaternion-1.0.0
 
    secs1d-0.0.8
 
    secs2d-0.0.8
 
    secs3d-0.0.1 (added on 2011-10-14)
 
    signal-1.0.11
 
    simp-1.1.0
 
    sockets-1.0.7_svn20111014 (updated 2011-10-14)
 
    specfun-1.0.9
 
    special-matrix-1.0.7
 
    spline-gcvspl-1.0.8
 
    splines-1.0.7
 
    statistics-1.0.10
 
    strings-1.0.7
 
    struct-1.0.9
 
    symband-1.0.10
 
    symbolic-1.0.9
 
    tcl-octave-0.1.8
 
    time-1.0.9
 
    tsa-4.1.1
 
    video-1.0.2
 
    vrml-1.0.12_svn20111014_patched (added 2011-10-14)
 
    windows-1.1.0 (Updated 2011-09-07)
 
    xraylib-1.0.8
 
    zenity-0.5.7
 
  
Installation of the Octave package:
+
To install a new or updated package version manually, the package file can be downloaded from the [https://octave.sourceforge.io/packages.php Octave Forge website] to the working directory and can be installed using:
  
    Read readme.txt in Octave3.4.2_gcc4.5.2_20110914.7z
+
  >> pkg install package_file_name.tar.gz
    Unzip to a directory which doesn't have space chars i.e. C:\Octave\Octave3.4.2_gcc4.5.2\ keeping the directory structure in the archive.
 
    Copy octave.lnk to any convenient location and edit its properties respectively to point to octave.exe and octave.ico.
 
  
Installation of the Octave-forge packages:
+
Detailed instructions for installing individual Octave Forge packages are given at https://octave.sourceforge.io/packages.php.
  
    Read Octave3.4.2_gcc4.5.2_pkgs_readme.txt and Octave3.4.2_gcc4.5.2_pkgs_changes.txt in Octave3.4.2_gcc4.5.2_pkgs_20110914.7z.
+
=GNU Octave on [https://cygwin.com/ cygwin]=
    In order to update octave_packages database and auto-load most packages (excluding 'ad' and 'windows' which may crash octave when loaded and 'clear all' is executed), launch Octave and execute:
 
  
        pkg rebuild -auto
+
*'''Maintainer:''' Marco Atzeri
        pkg rebuild -noauto ad windows
+
*'''Latest release:''' 2020-02-26
  
    You can adjust your installed packages status per your specific needs and usage by executing one of the following commands:
+
*Latest packages:
  
    a. To interactively load or unload a package
+
:octave-5.2.0-1
 +
:Its announce on cygwin mailing list [https://cygwin.com/ml/cygwin-announce/2020-02/msg00028.html]
  
        pkg load <pkg_name>
+
: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/]
 +
: At 2017-04-06, 64 forge packages were available.
  
    or
+
*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.
  
        pkg unload <pkg_name>
+
: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 ;-)
  
    b. To disable auto-load for specific pkg <pkg_name>
+
==Notes for cygwin==
  
        pkg rebuild -noauto <pkg_name>
+
*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>
  
    c. To enable auto-load for specific pkg <pkg_name>
+
* To build GNU Octave from cygwin source package, you need to install "cygport" and the relevant development libraries
 +
:<syntaxhighlight lang="bash">
 +
tar -xf octave-5.1.0-1-src.tar.xz
 +
cygport octave.cygport almostall
 +
</syntaxhighlight>
 +
:see [https://cygwinports.github.io/cygport/ cygport documentation] for further info.
  
        pkg rebuild -auto <pkg_name>
+
=General info=
  
    d. To completely uninstall a package
+
Be advised that GNU Octave is primarily developed on GNU/Linux and other [https://en.wikipedia.org/wiki/POSIX 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 [http://mingw.org MinGW] or Microsoft Visual Studio development environments (3.6 or before).
  
        pkg uninstall <pkg_name>     
+
=See also=
  
Notes
+
* [[Octave for Microsoft Windows (outdated)]] for older instructions.
  
    For details, please see http://old.nabble.com/Octave-3.4.2-mingw-%2B-octaveforge-pkgs-to32394771.html
+
[[Category:Installation]]
    This archive doesn't contain any editor !
+
[[Category:Building]]
 
+
[[Category:Microsoft Windows]]
    In order to install Notepad++ (recommended) as an editor:
 
    a. download the installation package from http://notepad-plus-plus.org/
 
    b. install, edit <your octave dir>\share\octave\site\m\startup\octaverc
 
    c. un-comment the line which sets octave default editor: EDITOR('C:\\Program Files\\Notepad++\\notepad++.exe');
 
 
 
    Octave Binaries are built by Tatsuro Matsuoka (http://www.tatsuromatsuoka.com/octave/Eng/Win/)
 
    Octave manual (octave-3.4.2.pdf.zip, octave-3.4.2.html.zip) can be download from http://www.tatsuromatsuoka.com/octave/Eng/Win/
 
 
 
1.3. Octave-3.4.3-mingw + octaveforge pkgs
 
 
 
    a. Octave-3.4.3-mingw (without pkgs)
 
        Octave3.4.3_gcc4.5.2_20111025.7z - MD5:5AA004D933E000E762AE2AE95573ACBD - http://www.multiupload.com/KDQ1N463UW
 
    b. Octaveforge pkgs, built for Octave-3.4.3-mingw
 
        Octave3.4.3_gcc4.5.2_pkgs_20111026.7z - MD5:2987F6078B4AD161F2D23634D5109D61 - http://www.multiupload.com/7U6J23CSZ6
 
    Maintainer: Nitzan Arazi
 
    Latest update: 2011-10-26
 
 
 
    Packages are archived by 7zip. 7zip software can be download from http://www.7-zip.org/
 
 
 
Includes:
 
 
 
    GNU Octave, version 3.4.3 (i686-pc-mingw32)
 
    A new fltk graphics_toolkit is available
 
    gnuplot 4.4.3
 
    fig2dev 3.2.5c
 
    ghostscript 9.0.2
 
    PSTOEDIT 3.50
 
    Msys + MinGW? tool chains
 
    PDF and html documentation
 
    some Octave-forge packages
 
 
 
    actuarial-1.1.0
 
    ad-1.0.6
 
    audio-1.1.4
 
    benchmark-1.1.1
 
    bim-1.0.2
 
    bioinfo-0.1.2
 
    civil-engineering-1.0.7
 
    combinatorics-1.0.9
 
    communications-1.1.0_patched
 
    control-2.2.0
 
    data-smoothing-1.2.3
 
    dataframe-0.8.2
 
    econometrics-1.0.8
 
    fenv-0.1.0
 
    financial-0.3.2
 
    fpl-1.2.0
 
    fuzzy-logic-toolkit-0.2.4
 
    ga-0.9.8
 
    general-1.2.2
 
    generate_html-0.1.3
 
    geometry-1.2.0
 
    gnuplot-1.0.1
 
    gpc-0.1.7
 
    gsl-1.0.8
 
    ident-1.0.7
 
    image-1.0.15
 
    informationtheory-0.1.8
 
    integration-1.0.7
 
    io-1.0.15 + supporting java jars
 
    irsa-1.0.7
 
    java-1.2.8_patched + java.opts file
 
    linear-algebra-2.0.0_svn20111014
 
    mapping-1.0.7
 
    mechanics-1.1.0
 
    miscellaneous-1.0.11_svn20110912
 
    missing-functions-1.0.2
 
    msh-1.0.2
 
    multicore-0.2.15
 
    nlwing2-1.2.0
 
    nnet-0.1.13
 
    nurbs-1.3.5
 
    ocs-0.1.1_patched
 
    octclip-1.0.0
 
    octgpr-1.2.0
 
    odebvp-1.0.6
 
    odepkg-0.8.0
 
    optim-1.0.16
 
    optiminterp-0.3.3
 
    outliers-0.13.9
 
    physicalconstants-0.1.7
 
    plot-1.0.8
 
    quaternion-1.0.0
 
    secs1d-0.0.8
 
    secs2d-0.0.8
 
    secs3d-0.0.1
 
    signal-1.0.11
 
    simp-1.1.0
 
    sockets-1.0.7_svn20111014
 
    specfun-1.0.9
 
    special-matrix-1.0.7
 
    spline-gcvspl-1.0.8
 
    splines-1.0.7
 
    statistics-1.0.10
 
    strings-1.0.7
 
    struct-1.0.9
 
    symband-1.0.10
 
    symbolic-1.1.0
 
    tcl-octave-0.1.8
 
    time-1.0.9
 
    tsa-4.1.1
 
    video-1.0.2_patched
 
    vrml-1.0.12_svn20111014_patched
 
    windows-1.1.0
 
    xraylib-1.0.8
 
    zenity-0.5.7
 
 
 
Installation of the Octave package:
 
 
 
    Read readme.txt in Octave3.4.3_gcc4.5.2_20111025.7z
 
    Unzip to a directory which doesn't have space chars i.e. C:\Octave\Octave3.4.3_gcc4.5.2\ keeping the directory structure in the archive.
 
    Copy octave3.4.3_gcc4.5.2.lnk to any convenient location and edit its properties respectively to point to bin\octave.exe and share\octave\3.4.3\imagelib\octave-logo.ico.
 
    Copy octave3.4.3_gcc4.5.2_docs.lnk to any convenient location and edit its properties respectively to point to doc\octave and share\octave\3.4.3\imagelib\octave-logo.ico.
 
 
 
Installation of the Octave-forge packages:
 
 
 
    Read Octave3.4.3_gcc4.5.2_pkgs_readme.txt in Octave3.4.3_gcc4.5.2_pkgs_20111026.7z.
 
    In order to update octave_packages database and auto-load most packages (excluding 'ad' and 'windows' which may crash octave when loaded and 'clear all' is executed), launch Octave and execute:
 
 
 
        pkg rebuild -auto
 
        pkg rebuild -noauto ad windows
 
        pkg rebuild -auto java
 
 
 
    Last pkg rebuild command is required in order for the java pkg entry to be moved to the top of share\octave\octave_packages db file - thus java pkg is loaded before io pkg is loaded, and io pkg related jars are added to java class path.
 
    You can adjust your installed packages status per your specific needs and usage by executing one of the following commands:
 
 
 
    a. To interactively load or unload a package
 
 
 
        pkg load <pkg_name>
 
 
 
    or
 
 
 
        pkg unload <pkg_name>
 
 
 
    b. To disable auto-load for specific pkg <pkg_name>
 
 
 
        pkg rebuild -noauto <pkg_name>
 
 
 
    c. To enable auto-load for specific pkg <pkg_name>
 
 
 
        pkg rebuild -auto <pkg_name>
 
 
 
    d. To completely uninstall a package
 
 
 
        pkg uninstall <pkg_name>     
 
 
 
Notes
 
 
 
    This archive doesn't contain any editor !
 
 
 
    In order to install Notepad++ (recommended) as an editor:
 
    a. download the installation package from http://notepad-plus-plus.org/
 
    b. install, edit <your octave dir>\share\octave\site\m\startup\octaverc
 
    c. un-comment the line which sets octave default editor: EDITOR('C:\\Program Files\\Notepad++\\notepad++.exe');
 
 
 
    Octave Binaries are built using Tatsuro Matsuka OctaveLibs?.zip and gplibs.zip (http://www.tatsuromatsuoka.com/octave/Eng/Win/)
 
 
 
2. Octave on Cygwin
 
2.1 Octave 3.4.2 on cygwin
 
 
 
    Web-Site: http://cygwin.com
 
    Maintainer: Marco Atzeri
 
    Latest release: 2011-10-03
 
 
 
    octave 3.4.2-3
 
    octave-forge packages octave-forge-20110730-1
 
    Please select them in Math category in the cygwin setup (using setup.exe).
 
 
 
    On Cygwin 1.7.9-1 the communication between octave and gnuplot is broken due to a cygwin bug.
 
    Please use a cygwin snapshot or 1.7.8-1 until cygwin-1.7.10-1 is released.
 
    Cygwin 1.7.8-1 is reported to currently work, but snapshots have
 
    notable performance improvements, so they are recommended.
 
 
 
Notes:
 
 
 
    To install a cygwin snapshot:
 
 
 
    download cygwin1-20111020.dll.bz2 (current last) from
 
    http://cygwin.com/snapshots/
 
 
 
    bunzip2 cygwin1-20111020.dll.bz2
 
    cp cygwin1-20111020.dll cygwin1.dll
 
    cp /bin/cygwin1.dll /bin/cygwin1.dll_backup
 
 
 
 
    exit all cygwin processes and from windows explorer
 
    copy the cygwin1.dll snapshot to
 
 
 
    c:\cygwin\bin
 
    (or in the equivalent directory of your cygwin installation).
 
 
 
    Graphics is based on X, so to plot you need to start octave within xterm (or similar).
 
 
 
    A new fltk graphics_toolkit is available, and the crash on "print" issue was solved on 3.4.2-3 using the patch proposed here:
 
 
 
    https://savannah.gnu.org/bugs/index.php?31641
 
 
 
    If a dlls collision arise, the correct invocation of the rebase utility within dash shell is:
 
 
 
    rebaseall -s "dll|so|oct"
 
 
 
    as octave dll's use unexpected ".oct" suffix for its own extension.
 
 
 
    For general build notes, see "etc/README.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 from cygwin source package, you need to install "cygport" and the relevant development libraries
 
 
 
    $ tar -xvjf octave-3.4.2-3-src.tar.bz2
 
    gl2ps-print.patch
 
    octave-3.4.2-3.cygport
 
    octave-3.4.2-3.cygwin.patch
 
    octave-3.4.2-3.src.patch
 
    octave-3.4.2.tar.bz2
 
 
 
    $ cygport octave-3.4.2-3.cygport almostall
 
 
 
    see cygport documentation for further info.
 
 
 
    currently octave depends on the following packages
 
 
 
    libgcc1-4.5.3-2
 
    libgfortran3-4.5.3-2
 
    libstdc++6-4.5.3-2
 
    liblapack0-3.2.2-2
 
    libreadline7-6.1.2-2
 
    libfftw3_3-3.3-1
 
    libqrupdate0-1.1.1-1
 
    libGL1-7.10.3-1
 
    zlib0-1.2.5-1
 
    libfontconfig1-2.8.0-1
 
    libhdf5_6-1.8.6-1
 
 
 
Octave Wiki | RecentChanges
 
Edit text of this page | View other revisions
 
Last edited 2011-11-11 6:56 UTC (diff)
 
Search:
 
 
 
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation
 

Latest revision as of 22:57, 25 February 2020

This article is about using pre-built installers of Octave for Windows; for instructions about building it, see Windows Installer.
Info icon.svg
Windows installers are available for the latest version of Octave (5.2.0, released on January 31, 2020) from https://ftp.gnu.org/gnu/octave/windows/.

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 #54662), but maintainers cannot provide support and troubleshooting for this beyond what has already been documented.

Installers for Microsoft Windows[edit]

The easiest way to install GNU Octave on Microsoft Windows is by using 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 spaces or non-ASCII characters. Shortcuts to the program will be created automatically.
  • For the 7z/zip archives:
  1. 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.
  2. 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.)
  3. 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 --no-gui to the end of the Target field.
  4. IMPORTANT: Run the 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.

Packages[edit]

A selection of pre-built, Octave Forge packages are included with for all versions of the official Windows release. If you followed the installation directions above you can confirm the package list by typing the command below at the Octave command prompt:

  >> pkg list

A typical output (for version 5.2.0) is:

   Package Name         | Version | Installation directory
   ---------------------+---------+-----------------------
                 audio  |   2.0.0 | __OH__/share/octave/packages/audio-2.0.0
        communications  |   1.2.2 | __OH__/share/octave/packages/communications-1.2.2
               control  |   3.2.0 | __OH__/share/octave/packages/control-3.2.0
        data-smoothing  |   1.3.0 | __OH__/share/octave/packages/data-smoothing-1.3.0
              database  |   2.4.4 | __OH__/share/octave/packages/database-2.4.4
             dataframe  |   1.2.0 | __OH__/share/octave/packages/dataframe-1.2.0
                 dicom  |   0.2.2 | __OH__/share/octave/packages/dicom-0.2.2
             financial  |   0.5.3 | __OH__/share/octave/packages/financial-0.5.3
                  fits  |   1.0.7 | __OH__/share/octave/packages/fits-1.0.7
   fuzzy-logic-toolkit  |   0.4.5 | __OH__/share/octave/packages/fuzzy-logic-toolkit-0.4.5
                    ga  |  0.10.1 | __OH__/share/octave/packages/ga-0.10.1
               general  |   2.1.0 | __OH__/share/octave/packages/general-2.1.0
         generate_html  |   0.3.1 | __OH__/share/octave/packages/generate_html-0.3.1
              geometry  |   3.0.0 | __OH__/share/octave/packages/geometry-3.0.0
                   gsl  |   2.1.1 | __OH__/share/octave/packages/gsl-2.1.1
                 image  |  2.10.0 | __OH__/share/octave/packages/image-2.10.0
    instrument-control  |   0.4.0 | __OH__/share/octave/packages/instrument-control-0.4.0
              interval  |   3.2.0 | __OH__/share/octave/packages/interval-3.2.0
                    io  |  2.4.13 | __OH__/share/octave/packages/io-2.4.13
        linear-algebra  |   2.2.3 | __OH__/share/octave/packages/linear-algebra-2.2.3
                  lssa  |   0.1.3 | __OH__/share/octave/packages/lssa-0.1.3
                 ltfat  |   2.3.1 | __OH__/share/octave/packages/ltfat-2.3.1
               mapping  |   1.2.1 | __OH__/share/octave/packages/mapping-1.2.1
         miscellaneous  |   1.3.0 | __OH__/share/octave/packages/miscellaneous-1.3.0
                   nan  |   3.4.5 | __OH__/share/octave/packages/nan-3.4.5
                netcdf  |  1.0.12 | __OH__/share/octave/packages/netcdf-1.0.12
                 nurbs  |  1.3.13 | __OH__/share/octave/packages/nurbs-1.3.13
                   ocs  |   0.1.5 | __OH__/share/octave/packages/ocs-0.1.5
                odepkg  |   0.8.5 | __OH__/share/octave/packages/odepkg-0.8.5
                 optim  |   1.6.0 | __OH__/share/octave/packages/optim-1.6.0
           optiminterp  |   0.3.5 | __OH__/share/octave/packages/optiminterp-0.3.5
            quaternion  |   2.4.0 | __OH__/share/octave/packages/quaternion-2.4.0
              queueing  |   1.2.6 | __OH__/share/octave/packages/queueing-1.2.6
                signal  |   1.4.1 | __OH__/share/octave/packages/signal-1.4.1
               sockets  |   1.2.0 | __OH__/share/octave/packages/sockets-1.2.0
             sparsersb  |   1.0.6 | __OH__/share/octave/packages/sparsersb-1.0.6
               specfun  |   1.1.0 | __OH__/share/octave/packages/specfun-1.1.0
               splines  |   1.3.3 | __OH__/share/octave/packages/splines-1.3.3
            statistics  |   1.4.1 | __OH__/share/octave/packages/statistics-1.4.1
                   stk  |   2.6.1 | __OH__/share/octave/packages/stk-2.6.1
               strings  |   1.2.0 | __OH__/share/octave/packages/strings-1.2.0
                struct  |  1.0.16 | __OH__/share/octave/packages/struct-1.0.16
                tisean  |   0.2.3 | __OH__/share/octave/packages/tisean-0.2.3
                   tsa  |   4.6.2 | __OH__/share/octave/packages/tsa-4.6.2
                 video  |   1.2.4 | __OH__/share/octave/packages/video-1.2.4
               windows  |   1.4.0 | __OH__/share/octave/packages/windows-1.4.0
                zeromq  |   1.5.0 | __OH__/share/octave/packages/zeromq-1.5.0

(__OH__) refers to the location of the OCTAVE_HOME environment variable.


If Octave was installed from a zip of 7z archive and you did not run the post-install.bat file, you may need to run:

  >> pkg rebuild

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.

GNU Octave on cygwin[edit]

  • Maintainer: Marco Atzeri
  • Latest release: 2020-02-26
  • Latest packages:
octave-5.2.0-1
Its announce on cygwin mailing list [1]
Octave Forge packages have each a cygwin package.
Its announce on cygwin mailing list [2]
Full cygwin package list is available here [3]
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[edit]

  • 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-5.1.0-1-src.tar.xz 
cygport octave.cygport almostall
see cygport documentation for further info.

General info[edit]

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[edit]