Editing Octave for Microsoft Windows

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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]].''
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.


{{Note|Windows installers are available for the latest version of '''Octave ({{Release}}, released on {{Release Date}})''' from https://ftpmirror.gnu.org/gnu/octave/windows/.}}
About version numbers (March 2011):
*The 3.4.x are current releases.
*The 3.2.x are previous releases.


Users are encouraged to use the latest version unless a specific feature or requirement that warrants using an older version of the software. Version specific instructions and installation notes are provided below.
=Standalone ports=
==Octave 3.2.4 for Windows MinGW32==


:'''Note:''' As of version 8.3.0, '''Octave no longer produces or supports 32-bit versions'''. An alternative source for 32-bit Windows binaries of Octave is using [[Octave for Microsoft Windows#GNU Octave in MSYS2|MSYS2]].  
'''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://octave.org/download 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 non-ASCII characters. The directory {{Path|%USERPROFILE%\GNU Octave\Octave-X.y.z}} is recommended to ease installing additional packages at a later date. Shortcuts to the program will be created automatically and the post-install script will be run automatically. But with some systems, you may have to 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.  
*GNU Octave, version 3.2.4 (i686-pc-mingw32)
*atlas 3.8.2
*mingw32 (GCC 4.4.0 on http://www.mingw.org )
*gnuplot Version 4.4.0 specially prepared for octave
*mini-MSYS 1.0.11
*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


* For the 7z/zip archives:  
Notes:
# 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-launch.exe}} 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.
# 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.
# The exe installer prompts you to choose which Basic Linear Algebra Subprograms (BLAS) library to use, and creates a shortcut to a BLAS switcher program. The 7z/zip archives default to using [https://netlib.org/blas Reference BLAS].  [https://www.openblas.net OpenBLAS] is also available, and may be preferable for certain users. 7z/zip archive users wanting to change their BLAS library can manually run the switcher program located at {{Path|/mingw64/bin/blas_switch.exe}}.


* Note: versions before 7.1.0 used .vbs and .bat files to start Octave. The {{Path|octave.bat}} file is still available in {{Path|\mingw32\bin}} or {{Path|\mingw64\bin}}, depending on the version of Octave installed, for use cases requiring it for startup.  
*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
*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


==Octave Packages==
Additional important topics found after the release:
Like many software programs, Octave uses ''packages'' to optionally extend and modify its capability. These packages can be installed and loaded using the built in package management program 'pkg'. (Note that Octave does not automatically load installed packages, they must be manually loaded from within Octave by the user.)  
*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 maintains a system-wide (or ''global'') package list, and a user-specific (or ''local'') package list. By default in Windows 10, local packages are located at {{Path|C:\Users\%USERNAME%\octave\}}. (The \octave folder will be created during the first package install\update if it is not already present.)  The global packages are stored in {{Path|%OCTAVE_HOME%\mingw64\share\octave\packages\}}, and are available to all users on the machine. Specific locations on your system can be found by typing the following commands at the Octave command line:
==Octave-3.4.2-mingw + octaveforge pkgs==
#Octave-3.4.2-mingw (without pkgs)
#:Octave3.4.2_gcc4.5.2_20110914.7z - MD5:4AA0DD4C97F73B2E9E0F7370CD8AD719 - http://www.multiupload.com/TCUHKNNH9S
#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


    >> pkg local_list
'''Maintainer:''' Nitzan Arazi
    >> pkg global_list
'''Latest update:''' 2011-10-14


Octave versions for Windows prior to 6.1.0 defaulted to always making changes to global packages unless the user specified otherwise. 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 starting 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.
Packages are archived by the 7zip. The 7zip software can be download from http://www.7-zip.org/


===Pre-installed Packages===
Includes:


A selection of pre-built, [[Octave Forge]] packages is included with all versions of the official Windows release. If you followed the installation directions above, you can display a list of packages by typing the command below at the Octave command prompt:
    GNU Octave, version 3.4.2 (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
    some Octave-forge packages  


  >> pkg list
    actuarial-1.1.0
    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


The output for preinstalled global packages included with version 7.1.0 when installed into {{Path|C:\Octave}} is:
Installation of the Octave package:


     Package Name        | Version | Installation directory
     Read readme.txt in Octave3.4.2_gcc4.5.2_20110914.7z
     ---------------------+---------+-----------------------
     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.
                  audio  |  2.0.4 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\audio-2.0.4
    Copy octave.lnk to any convenient location and edit its properties respectively to point to octave.exe and octave.ico.
                biosig  |  2.4.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\audio-2.4.0
 
        communications  |  1.2.4 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\communications-1.2.4
Installation of the Octave-forge packages:
                control  |  3.4.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\control-3.4.0
 
        data-smoothing  |  1.3.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\data-smoothing-1.3.0
    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.
              database  |  2.4.4 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\database-2.4.4
    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:
              dataframe  |  1.2.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\dataframe-1.2.0
 
                  dicom  |  0.4.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\dicom-0.4.1
        pkg rebuild -auto
              financial  |  0.5.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\financial-0.5.3
        pkg rebuild -noauto ad windows
                  fits  |  1.0.7 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\fits-1.0.7
 
     fuzzy-logic-toolkit  |  0.4.6 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\fuzzy-logic-toolkit-0.4.6
    You can adjust your installed packages status per your specific needs and usage by executing one of the following commands:
                    ga  |  0.10.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\ga-0.10.3
 
                general  |  2.1.2 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\general-2.1.2
    a. To interactively load or unload a package
          generate_html  |  0.3.2 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\generate_html-0.3.2
 
              geometry  |  4.0.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\geometry-4.0.0
        pkg load <pkg_name>
                    gsl  |  2.1.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\gsl-2.1.1
 
                  image  |  2.14.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\image-2.14.0
    or
    instrument-control  |  0.7.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\instrument-control-0.7.1
 
              interval  |  3.2.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\interval-3.2.1
        pkg unload <pkg_name>
                    io |  2.6.4 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\io-2.6.4
 
        linear-algebra 2.2.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\linear-algebra-2.2.3
    b. To disable auto-load for specific pkg <pkg_name>
                  lssa  |  0.1.4 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\lssa-0.1.4
 
                  ltfat  |  2.3.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\ltfat-2.3.1
        pkg rebuild -noauto <pkg_name>
                mapping  |  1.4.2 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\mapping-1.4.2
 
                matgeom  |  1.2.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\matgeom-1.2.3
    c. To enable auto-load for specific pkg <pkg_name>
          miscellaneous  |  1.3.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\miscellaneous-1.3.0
 
                    nan  |  3.6.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\nan-3.6.1
        pkg rebuild -auto <pkg_name>
                netcdf  |  1.0.14 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\netcdf-1.0.14
 
                  nurbs  |  1.4.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\nurbs-1.4.3
    d. To completely uninstall a package
                    ocs  |  0.1.5 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\ocs-0.1.5
 
                octproj  |  2.0.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\octproj-2.0.1
        pkg uninstall <pkg_name>     
                  optim  |  1.6.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\optim-1.6.1
 
            optiminterp  |  0.3.7 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\optiminterp-0.3.7
Notes
            quaternion  |  2.4.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\quaternion-2.4.0
 
              queueing  |  1.2.7 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\queueing-1.2.7
    For details, please see http://old.nabble.com/Octave-3.4.2-mingw-%2B-octaveforge-pkgs-to32394771.html
                signal  |  1.4.1 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\signal-1.4.1
    This archive doesn't contain any editor !
                sockets  |  1.3.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\sockets-1.3.0
 
              sparsersb  |  1.0.9 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\sparsersb-1.0.9
    In order to install Notepad++ (recommended) as an editor:
                splines  |  1.3.4 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\splines-1.3.4
    a. download the installation package from http://notepad-plus-plus.org/
            statistics  |  1.4.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\statistics-1.4.3
    b. install, edit <your octave dir>\share\octave\site\m\startup\octaverc
                    stk  |  2.7.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\stk-2.7.0
    c. un-comment the line which sets octave default editor: EDITOR('C:\\Program Files\\Notepad++\\notepad++.exe');
                strings  |  1.2.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\strings-1.2.0
 
                struct  |  1.0.17 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\struct-1.0.17
    Octave Binaries are built by Tatsuro Matsuoka (http://www.tatsuromatsuoka.com/octave/Eng/Win/)
              symbolic  |  2.9.0 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\symbolic-2.9.0
    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/
                tisean  |  0.2.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\tisean-0.2.3
 
                    tsa  |  4.6.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\tsa-4.6.3
1.3. Octave-3.4.3-mingw + octaveforge pkgs
                  video  |  2.0.2 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\video-2.0.2
 
                windows  |  1.6.2 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\windows-1.6.2
    a. Octave-3.4.3-mingw (without pkgs)
                zeromq  |  1.5.3 | C:\Octave\octave-7.1.0-w64\mingw64\share\octave\packages\zeromq-1.5.3
        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
Note that the included packages shown above are stored in the default ''global package location'' within the Octave installation folder.  If any 'local' packages were previously installed with another version of windows, they might also appear in the list at the local location.  It is recommended that any such packages be uninstalled and reinstalled to guarantee compatibility with the current version of octave.
    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


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:
    This archive doesn't contain any editor !
 
  >> 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.
    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');


'''Note''': The Windows bundle includes a minimal version of Python for the symbolic package. That version of Python is not intended to be used for anything else. If you like to use Python for something different in Octave (e.g., for the pythonic package), install a full Python distribution and set the necessary environment variables (PYTHON, ...?).
    Octave Binaries are built using Tatsuro Matsuka OctaveLibs?.zip and gplibs.zip (http://www.tatsuromatsuoka.com/octave/Eng/Win/)


===Package Installation and Update===
2. Octave on Cygwin
2.1 Octave 3.4.2 on cygwin


All packages can be updated to the latest version by running:
    Web-Site: http://cygwin.com
 
    Maintainer: Marco Atzeri
  >> pkg update
    Latest release: 2011-10-03


Other packages can be installed by running:
    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).


  >> pkg install -forge <package_name>
    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.


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:
Notes:


  >> pkg install package_file_name.tar.gz
    To install a cygwin snapshot:


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 account, 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. As of Octave 7.1.0 the {{Path|-global}} option also works with the {{Path|pkg update}} command. For example:
    download cygwin1-20111020.dll.bz2 (current last) from
    http://cygwin.com/snapshots/


  >> pkg install -forge -global <package_name>
    bunzip2 cygwin1-20111020.dll.bz2
    cp cygwin1-20111020.dll cygwin1.dll
    cp /bin/cygwin1.dll /bin/cygwin1.dll_backup


  >> pkg update -global
    exit all cygwin processes and from windows explorer
    copy the cygwin1.dll snapshot to


Detailed instructions for installing individual Octave Forge packages are given at https://octave.sourceforge.io/packages.php.
    c:\cygwin\bin
    (or in the equivalent directory of your cygwin installation).


=GNU Octave in MSYS2=
    Graphics is based on X, so to plot you need to start octave within xterm (or similar).


[https://www.msys2.org/ MSYS2] is a collection of tools and libraries providing an easy-to-use environment for building, installing and running native Windows software. GNU Octave is available as a [https://packages.msys2.org/base/mingw-w64-octave package] in MSYS2.
    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:


The best (and recommended) way to use Octave on Windows is to use the provided installers (see above). But for some special requirements, the version of Octave packaged by MSYS2 might be the better solution. Those special requirements might include:
    https://savannah.gnu.org/bugs/index.php?31641
* Users might want to use e.g. Octave packages that depend on third party packages not included in MXE Octave (e.g., the Pythonic package that depends on a native Windows Python installation).
* Users might need features of newer versions of packages than which are included in MXE Octave.
* ...


MSYS2 follows a rolling release cycle. So, its packages are most likely more up-to-date than the packages included in Octave's installer for Windows.
    If a dlls collision arise, the correct invocation of the rebase utility within dash shell is:
It includes a (working) package manager (<code>pacman</code>) that provides the option to install a much wider range of packages than what can possibly be included in Octave's installer for Windows.


To use Octave in MSYS2, install the MSYS2 environment following [https://www.msys2.org/#installation their instructions]. At the <code>bash</code> shell (use e.g. "MSYS2 MinGW 64-bit" from the start menu), update the installation by <code>pacman -Syu</code>. After that, install a version of Octave that matches your environment (and the shell you are using), e.g. <code>pacman -S mingw-w64-x86_64-octave</code>.
    rebaseall -s "dll|so|oct"


This will install (among others), the main executables of Octave <code>octave-gui</code> (linked with Qt, i.e., including the "qt" graphics toolkit and the GUI), <code>octave-cli</code> (linked without Qt, i.e., only "fltk" and "gnuplot" graphics toolkits and no GUI), and the wrapper executable <code>octave</code> that dispatches to one of the former executables depending on the used command line switches. The Octave GUI can be started with <code>octave --gui</code> from MSYS2's <code>bash</code> shell, the command line interface (CLI) with <code>octave</code>.
    as octave dll's use unexpected ".oct" suffix for its own extension.


=GNU Octave on [https://cygwin.com/ cygwin]=
    For general build notes, see "etc/README.Cygwin".


*'''Maintainer:''' Marco Atzeri
    When building from development source (default branch)
*'''Latest release:''' 2024-01-66


*Latest packages:
    "make check" passes almost all the tests.
    Only, and not substantial, failures are:


:octave-8.4.0-1
    /pub/hg/octave/src/data.cc : 8 failures due to different handling of complex Inf on sort
:Its announce on cygwin mailing list [https://cygwin.com/pipermail/cygwin-announce/2024-January/011503.html]


:Most of the Octave Forge packages have each a cygwin package.
    /pub/hg/octave/src/syscalls.cc: 1 failure on fork. This disappears when octave is installed
: Full cygwin package list is available here [https://cygwin.com/packages/]
: At 2024-01-26, 51 forge packages were available.  


*To install :  
    /pub/hg/octave/scripts/sparse/svds.m: 1 failure due to test sensitivity on starting point. See
: run  setup-x86_64.exe (for cygwin 64 bit) and select them in the Math category.  
    https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2011-September/024715.html
:  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).
    To build from cygwin source package, you need to install "cygport" and the relevant development libraries
:  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==
    $ 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


* To build GNU Octave from cygwin source package, you need to install "cygport" and the relevant development libraries
    $ cygport octave-3.4.2-3.cygport almostall
:<syntaxhighlight lang="bash">
tar -xf octave-8.4.0-1-src.tar.xz
cygport octave.cygport almostall
</syntaxhighlight>
:see cygport documentation at /usr/share/doc/cygport/html/manual/toc_index.html for further info.


=General info=
    see cygport documentation for further info.


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).
    currently octave depends on the following packages


=See also=
    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 for Microsoft Windows (outdated)]] for older instructions.
Octave Wiki | RecentChanges
Edit text of this page | View other revisions
Last edited 2011-11-11 6:56 UTC (diff)
Search:


[[Category:Installation]]
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
[[Category:Building]]
[[Category:Microsoft Windows]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)