Octave for Microsoft Windows

From Octave
Revision as of 21:00, 15 December 2011 by Nitnit (talk | contribs) (→‎Notes)
Jump to navigation Jump to search

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.

About version numbers (March 2011):

  • The 3.4.x are current releases.
  • The 3.2.x are previous releases.

Standalone ports

Octave 3.2.4 for Windows MinGW32

Includes

  • 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

Notes

  • 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 for details:
  • Default Octave install folder changed to e.g. C:\Octave\3.2.4_gcc-4.4.0\.
    If you have installed octave in a folder where the path name has whitespace, for example, C:\Program Files\, 'pkg install (package name)' command will fail: See http://sourceforge.net/mailarchive/message.php?msg_name=4A1AF9EF.1000005@hotmail.com for details

Additional important topics found after the release:

     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 
  • 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

  1. Octave-3.4.2-mingw (without pkgs)
    Octave3.4.2_gcc4.5.2_20110914.7z - MD5:4AA0DD4C97F73B2E9E0F7370CD8AD719 - http://www.multiupload.com/TCUHKNNH9S
  2. 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
  • 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/

Includes

  • 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
    • 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

Installation of the Octave package

  • 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.
  • 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

  • Read Octave3.4.2_gcc4.5.2_pkgs_readme.txt, Octave3.4.2_gcc4.5.2_pkgs_changes.txt in Octave3.4.2_gcc4.5.2_pkgs_20110914.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
  • You can adjust your installed packages status per your specific needs and usage by executing one of the following commands:
  • To interactively load or unload a package
       pkg load <pkg_name>
       pkg unload <pkg_name>
  • To disable auto-load for specific pkg <pkg_name>
       pkg rebuild -noauto <pkg_name>
  • To enable auto-load for specific pkg <pkg_name>
       pkg rebuild -auto <pkg_name>
  • To completely uninstall a package
       pkg uninstall <pkg_name>       

Notes

   EDITOR('C:\\Program Files\\Notepad++\\notepad++.exe');

Octave-3.4.3-mingw + octaveforge pkgs

  1. Octave-3.4.3-mingw (without pkgs)
    Octave3.4.3_gcc4.5.2_20111025.7z - MD5:5AA004D933E000E762AE2AE95573ACBD - http://www.multiupload.com/KDQ1N463UW
  2. 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
The above archive files are now able to be downloaded from
https://sourceforge.net/projects/octave/files/Octave_Windows%20-%20MinGW/Octave%203.4.3%20for%20Windows%20MinGW%20Installer/
  • 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:
  • To interactively load or unload a package
       pkg load <pkg_name>
       pkg unload <pkg_name>
  • To disable auto-load for specific pkg <pkg_name>
       pkg rebuild -noauto <pkg_name>
  • To enable auto-load for specific pkg <pkg_name>
       pkg rebuild -auto <pkg_name>
  • 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:
    • download the installation package from http://notepad-plus-plus.org/
    • install, edit <your octave dir>\share\octave\site\m\startup\octaverc
    • un-comment the line which sets octave default editor:
   EDITOR('C:\\Program Files\\Notepad++\\notepad++.exe');
  • Upon launching, some warnings may be displayed. The following warnings can be ignored:

Following warning is about interpretation of logical operators (on scalars) in octave which is slightly different than matlab's interpretation.

   warning: C:\Octave\3.4.3_gcc-4.5.2\share\octave\packages\integration-1.0.7\PKG_ADD: possible Matlab-style short-circuit operator at line 9, column 32 

Following messages are from java package about loading of java classes that have been found and how to manually run a statement which will display its capabilities.

   io PKG_ADD: java classes has been found and added in C:\Octave\3.4.3_gcc-4.5.2\bin 
   io PKG_ADD: run chk_spreadsheet_support([],3) to view io support 

Following warnings are about missing external tools which may reduce some of the functions of some packages. These external tools are not provided by the 7z archives in sourceforge.

   warning: gmsh does not seem to be present some functionalities will be disabled 
   warning: dx does not seem to be present some functionalities will be disabled 

Following warning is about fstat function of the statistics package that overloads the old (to be deprecated) fstat function of octave-3.4.3

   warning: function C:\Octave\3.4.3_gcc-4.5.2\share\octave\packages\statistics-1.0.10\fstat.m shadows a core library function 

Octave on Cygwin

Octave 3.4.2 on cygwin

  • 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. While the communication with gnuplot does not work, a different graphic toolkit may be available: at the Octave prompt, type available_graphics_toolkit, and then try setting a different toolkit, for instance graphics_toolkit('fltk') before testing with the sombrero command.

Notes

   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