Windows Installer

Revision as of 14:05, 16 October 2013 by Ani07nov (talk | contribs)

GNU Octave is primarily developed on GNU/Linux and other POSIX conformal systems. There have been many efforts in the past to build ports of GNU Octave for Windows. Take a look at the various ports of Octave available for Windows here.

Recently some work has been done in maintaining a unified build system mxe-octave (a fork of MXE) which anyone can use to produce cross as well as native builds of GNU Octave for Windows and Mac OS X platforms. This page contains instructions about creating a Windows installer using mxe-octave.

Installing requirements of MXE Octave

MXE Octave requires a recent Unix system where all components as stated below are installed.

Debian (GNU/kFreeBSD & GNU/Linux)

aptitude install -R autoconf automake bash bison bzip2 \
                    cmake flex gettext git g++ intltool \
                    libffi-dev libtool libltdl-dev openssl libssl-dev \
                    libxml-parser-perl make patch perl \
                    pkg-config scons sed unzip wget \
                    xz-utils yasm

On 64-bit Debian, install also:

aptitude install -R g++-multilib libc6-dev-i386

If you are using Ubuntu, then you can do apt-get install foo instead of aptitude install -R foo.

Fedora

yum install autoconf automake bash bison bzip2 cmake \
            flex gcc-c++ gettext git intltool make sed \
            libffi-devel libtool openssl-devel patch perl pkgconfig \
            scons yasm unzip wget xz

FreeBSD

pkg_add -r automake111 autoconf268 bash bison cmake \
           flex gettext git gmake gsed intltool libffi libtool \
           openssl patch perl p5-XML-Parser pkg-config \
           scons unzip wget yasm

Frugalware

pacman-g2 -S autoconf automake bash bzip2 bison cmake \
             flex gcc gettext git intltool make sed libffi libtool \
             openssl patch perl perl-xml-parser pkgconfig \
             scons unzip wget xz xz-lzma yasm

Gentoo

emerge sys-devel/autoconf sys-devel/automake \
       app-shells/bash sys-devel/bison app-arch/bzip2 \
       dev-util/cmake sys-devel/flex sys-devel/gcc \
       sys-devel/gettext dev-vcs/git \
       dev-util/intltool sys-devel/make sys-apps/sed \
       dev-libs/libffi sys-devel/libtool dev-libs/openssl sys-devel/patch \
       dev-lang/perl dev-perl/XML-Parser \
       dev-util/pkgconfig dev-util/scons app-arch/unzip \
       net-misc/wget app-arch/xz-utils dev-lang/yasm

Mac OS X

Install Xcode 4 and MacPorts, then run:

sudo port install autoconf automake bison cmake flex \
                  gettext git-core gsed intltool libffi libtool \
                  openssl p5-xml-parser pkgconfig scons \
                  wget xz yasm

Mac OS X versions ≤ 10.6 are no longer supported.

MingW

Make sure to update and upgrade packages as some of the default versions of packages are too old to work correctly.

mingw-get update
mingw-get upgrade

And then get required packages.

mingw-get install autoconf bash msys-bison msys-flex gcc gcc-c++ \
                  gcc-fortran gettext msys-m4 msys-make msys-sed \
                  libiconv msys-openssl msys-patch msys-perl \
                  msys-libarchive msys-unzip msys-wget msys-bsdtar
   

You will also need to install Windows versions of Python and Ghostscript and ensure they are in visible in the PATH.

OpenSUSE

zypper install -R autoconf automake bash bison bzip2 \
                  cmake flex gcc-c++ gettext-tools git \
                  intltool libffi-devel libtool make openssl \
                  libopenssl-devel patch perl \
                  perl-XML-Parser pkg-config scons \
                  sed unzip wget xz yasm

On 64-bit openSUSE, install also:

zypper install -R gcc-32bit glibc-devel-32bit \
                  libgcc46-32bit libgomp46-32bit \
                  libstdc++46-devel-32bit

Open Issues with NSIS

The NSIS package contains some native tools that are currently 32-bit only. In order to build these on a 64-bit system, multi-lib support must be enabled in the compiler toolchain. However, not all operating systems support this. Since no other packages depend on it, the remainder of MXE can be successfully built by simply specifying an empty build rule:

make nsis_BUILD=

Steps to create Windows Installer

  1. Install all requirements for compiling GNU Octave. (Some help for Debian users)
  2. hg clone http://hg.octave.org/mxe-octave/
  3. cd mxe-octave
  4. autoconf
  5. ./configure
  6. ./mk-dist --installer