[1187d6]: INSTALL-Octave Maximize Restore History

Download this file

INSTALL-Octave    115 lines (73 with data), 4.9 kB

-------- Compatibility ----------------------------------

The toolbox should work and compile on all versions of Octave later
than version 3.4, but it is generally recommended to upgrade Octave to 
the latest stable release. For demos etc. to work, you will need
to install some of the Octave-forge packages.

All versions of LTFAT from 1.4.2 are also itself an Octave-forge package 
and the easiest way to install the toolbox is by typing the command

pkg install -forge ltfat

on the Octave prompt, which downloads LTFAT directly from the 
Octave-forge and compiles all. This however was tested only on Linux.
Since you are reading this you have probably downloaded LTFAT from
elsewhere and you want to compile sources by yourself. 

-------- What can be compiled -------------------------------

- Static backend libraries libltfat.a, libltfatf.a

- Fast Oct-interfaces linking to the backend libraries.

Block processing framework (optional, experimental, only on Linux)

- Mex-interface playrec

- Java classes for blockproc GUI

-------- Compiling backend libs and the Octave interfaces  -------------

LTFAT comes with C++ Octave interfaces to replace (shadow) all computationally
intensitive functions in the toolbox.

To compile the Octave interfaces, type "ltfatmex" on the Octave
command prompt. This will compile the LTFAT C library and all the
available oct-functions.

LTFAT backend lib and Oct-interfaces depends on the following
libraries: FFTW3, BLAS, LAPACK, which are usually distributed with
Octave itself, so there is no need for installing them separately.

--------- Compiling on MacOS ------------------------------------------

The GCC compiler is needed to compile the LTFAT on Mac OS X. When the Xcode Command Line Tools are installed the compilation of the LTFAT should work without any problem. Alternatively, Clang could be used to compile the LTFAT.
The BLAS, LAPACK and FFTW libraries are taken directly from the Octave installation and doesn’t have to be installed separately.

--------- Compiling on Microsoft Windows ------------------------------

Presently, Octave binary distribution for Windows comes in 32bit version only.
We recommend using the package with the MinGW installer. It comes with the 32bit
MinGW compiler system. It is important to add the following two entries to the PATH 
variable:

[OCTAVE]\bin\;[OCTAVE]\mingw\bin\; 

where [OCTAVE] stands for the Octave installation directory.

Then typing "ltfatmex" should compile the Oct-interfaces. 

--------- Compiling on Linux ----------------------------------------

To compile, you must have installed the Octave development package and
all its dependencies (the 'mkoctfile' script must be available).
This will also install all necessary libraries and header files needed
for compilation.

* On Fedora / Redhat this package is called "octave-devel"

* On Debian / Ubuntu this package is called "octave-headers"

Install the octave-forge packages to add extra toolboxes available for
Octave.

-------- Compiling parts for the block processing framework ———

Everything should be already compiled if you have downloaded the binary release.

In order to get the block processing framework working from the source, one
has to compile the MEX-interface playrec and the JAVA GUI classes. This can be
done by typing

"ltfatmex playrec" and "ltfatmex java".

Playrec MEX depends on the PORTAUDIO library, which has to be installed on your
system prior running the commands. Compiling JAVA classes requires Java Development
Kit to be installed. From Octave 3.8.0 the JAVA package is part of core Octave, so it
doesn’t have to be installed separately when using Octave 3.8.0.

NOTE: Compiled Java classes (packed in blockproc.jar) are platform independent
so compiling it and installing JDK can be avoided by taking the archive from any
binary LTFAT package (from ltfat/blockproc/java).


--------- Compiling on Mac ------------

It is recommended to compile PortAudio v19 to use with the block processing framework. PortAudio v19 only compiles on OS X version 10.4 or later.
For any version of Octave older than 3.8.0 the JAVA package should be installed which requires the Java Development Kit to be installed. The Java Development Kit could be 
downloaded through the Apple Developer Downloads.

--------- Compiling on Microsoft Windows --------------------------

Unfortunately, portaudio on Windows is not distributed in a binary package.
One can follow instructions on http://www.portaudio.com/ to compile the library
from the source with support for different sound APIs like DirectSound, MME,
WASAPI, ASIO. Build a shared (dynamically linked) library (dll) and copy it to
the ltfat/thirdparty/Playrec directory.

--------- Compiling on Linux ------------------------------------

- On Redhat / Fedora, TBD

- On Debian / Ubuntu, install the packages 'portaudio19-dev', 'openjdk-7-jdk'