Editing Windows Installer
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
:''This article is about how to make the | :''This article is about how to make the Windows installer; if you'd like just to use the installer, see [[Octave for Microsoft Windows]].'' | ||
GNU Octave is primarily developed on GNU/Linux and other POSIX | 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 [http://wiki.octave.org/Octave_for_Windows here]. | ||
Recently some work has been done in maintaining a unified build system [http://wiki.octave.org/MXE '''mxe-octave'''] (a fork of [http://mxe.cc/ 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. | |||
== | ==Steps to create Windows Installer== | ||
# | # [http://wiki.octave.org/Windows_Installer#Installing_requirements_of_MXE_Octave Install all requirements of MXE Octave]. | ||
# <code>hg clone | # <code>hg clone http://hg.octave.org/mxe-octave/</code> | ||
# <code>cd mxe-octave</code> | # <code>cd mxe-octave</code> | ||
# <code> | # <code>autoconf</code> | ||
# <code>./configure</code> | # <code>./configure</code> | ||
# <code>make | # <code>make nsis-installer</code> | ||
=== | ===Tweaks=== | ||
== | * Use <code>make tar-dist</code> or <code>make zip-dist</code> instead of <code>nsis-installer</code> if you want to build just an archive of the files to install on Windows instead of an installer wizard. | ||
* By default, packages will be built one at a time, but you may use <code>make JOBS=4</code> (choose a number other than 4 that is appropriate for your system) to build each package in parallel. You may also combine this with the <code>-j</code> option for Make to build more than one package at a time, but be careful as using <code>make -j4 JOBS=4</code> can result in as many as 16 jobs running at once. | |||
* Use <code>./configure --disable-strip-dist-files</code> if you want to keep debug symbols in the installed binaries for debugging on Windows. | |||
* Include gdb in the installer by running <code>make gdb</code> before making the <code>nsis-installer</code> target. | |||
==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 \ | |||
mercurial openssl libssl-dev \ | |||
libxml-parser-perl make patch perl \ | |||
pkg-config scons sed unzip wget \ | |||
xz-utils yasm autopoint zip | |||
On 64-bit Debian, install also: | |||
aptitude install -R g++-multilib libc6-dev-i386 | |||
If you are using Ubuntu, then you can do <code>apt-get install foo</code> instead of <code>aptitude install -R foo</code>. | |||
On a fesh Linux Mint 16 x86_64, in addition to the above also install: | |||
sudo apt-get install libc6-dev-i386 gcc-multilib libgmp3-dev libmpfr4 libmpfr-dev | |||
sudo apt-get build-dep gcc-4.8 | |||
If not installed you will get error messages like "/usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory" or "/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc" when compiling ocaml-core. | |||
The packages libgmp3-dev libmpfr4 libmpfr-dev libmpc-dev are needed for compiling the build-gcc. | |||
===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 | |||
On 64-bit Fedora, there are [http://wiki.octave.org/Windows_Installer#Open_Issues_with_NSIS open issues with the NSIS] package. | |||
===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 | |||
Ensure that /usr/local/bin precedes /usr/bin in your $PATH:<br> | |||
For C style shells, edit .cshrc | |||
setenv PATH /usr/local/bin:$PATH | |||
For Bourne shells, edit .profile | |||
export PATH = /usr/local/bin:$PATH | |||
On 64-bit FreeBSD, there are [http://wiki.octave.org/Windows_Installer#Open_Issues_with_NSIS open issues with the NSIS] package. | |||
===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 | |||
On 64-bit Frugalware, there are [http://wiki.octave.org/Windows_Installer#Open_Issues_with_NSIS open issues with the NSIS] package. | |||
=== | ===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 [http://developer.apple.com/xcode/ Xcode 4] and [http://www.macports.org/ 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 | |||
< | ==Creating an NSIS based installer== | ||
The <code>make nsis-installer</code> command produces a NSIS installer that is ready to be distributed. | |||
[[Category: | [[Category:Packaging]] | ||