iFit: Installation

  1. Requirements
    1. Stand-alone / run-time release / no Matlab license required
    2. Matlab - source code release
    3. C compiler (optional)
    4. Fortran compiler (optional)
    5. Python/NumPy (optional)
  2. Obtaining the package / Download
  3. Installation - stand-alone distribution
  4. Installation - source distribution
    1. Note for Windows 64bits users: recompiling looktxt MeX files - source distribution
  5. What's next ?
  6. Subscribe to the user mailinglist


Stand-alone / run-time release / no Matlab license required

the iFit standaloneWhen installing a 'stand-alone' release of iFit, you only need to install the Matlab Compiler Runtime (free), available below. There is NO other dependency. The package contains everything required. The stand-alone package is distributed for Linux, Windows and Mac OSX systems. See below to download the required stand-alone package.

The stand-alone version provides full iFit functionality at no cost. You can execute any script (list of commands) using iFit and Matlab functions. However, you can not define new functions.
Refer to the 'stand-alone' release of iFit page for more information on the features and limitations.

Matlab - source code release

The only requirement is to have Matlab installed. Any Matlab version from 7.4 (R2007a) will do, no need for any additional toolbox. This is a commercial product. Student versions can be bought for lower prices, as well as Academic licenses (e.g. for Universities). See below to download the required source package.

C compiler (optional)

In principle, the external executable files (looktxt, cbf_uncompress) are shipped with the package, so that the software is ready to run. However, in the event of a required re-compilation, a C compiler is often shipped with Matlab (and installed automatically). The Loaders library may use it sporadically. This is not required for stand-alone versions. Refer to the Changes/Bugs page in case of troubles.

Fortran compiler (optional)

The CIF/CFL/PCR/ShelX file support is available when the cif2hkl program can be compiled (usually this is done automatically). We supply these executable files in the Download/binary section of the iFit web site. We recommend to install gfortran, which exists for all systems (for windows, get the single file installer). Refer to the Changes/Bugs page in case of troubles.

Python/NumPy (optional)

iFit can be transparently used from Python/NumPy. In principle, this is better suited for users not wanting to use Matlab, preferring the Python language. You will need to install Python and NumPy. We recommend the Python(x,y) for Windows, or Enthought Canopy for all systems. Refer to our PyFit help pages.

Ubuntu Linux

We prefer Linux systems, such as Ubuntu, when handling large data sets, and performing McStas optimizations, so that we fully use multi-core systems (e.g. though threads and MPI). You may use our ILL/CS Live DVD ready-to-run system with McStas and iFit (standalone) pre-installed.

Obtaining the package / Download

The package is currently available from the ifit.mccode.org web site:

matlabSource code
requires a Matlab license to run [ Download zip, 22 Mb, Changes ]
linux Linux
32 bits: Not supported anymore. 64 bits:
Debian: [MCR then iFit] or use Debian repository (see below).
Other: Use the MCR bin installer and zip archives.
windows Windows
32 bits: Not supported anymore. 64 bits: Use the MCR installer then the iFit installer.
mac Mac OSX 32 bits:
Not supported anymore.
64 bits: Use the iFit.app, which includes the MCR (no need to install it separately).

Installation - stand-alone distribution

Install the Matlab Compiler Runtime (MCR 7.13 R2010a) for your system if it has not been installed previously. This is not required if you only wish to upgrade iFit.

On Debian Linux systems, an easy way to install packages it to make use of the mccode.org repository

% sudo apt-add-repository 'deb http://packages.mccode.org/debian stable main'
% sudo apt-get update
% sudo apt-get install ifit mcrinstaller libxp6

This can also be done from e.g. Synaptic (menu Settings/repositories) and Ubuntu Software Center (menu Edit/Software Sources) ; tab Other Software/Add... Then select packages ifit and mcrinstaller and install them.
If you use the Debian package installers (.deb), nothing else is required. Double click the deb packages (MCR, then iFit) and wait. Then you can start iFit from the Dash or from menu Applications/Education/iFit. Drag-n-drop of data files is possible on the iFit launcher, as well as on operator icons from /usr/local/ifit/.

You can also install the packages manually by directly accessing our Deb repository, get the Debian packages, e.g. ifit-x.y and mcrinstaller, then (fix the file names):

% sudo dpkg -i ifit-x.y-amd64.deb mcrinstaller-7.13.deb

If you do not have Matlab, the installer will ask you if you wish to use iFit as a replacement, then will automatically create a link:

% sudo ln -s /usr/local/ifit/ifit /usr/local/bin/matlab

On Other Linux systems, we recommend to install the MCR in /opt/MATLAB (requires administrative privileges).

chmod u+x MCRINstaller.bin
sudo ./MCRInstaller.bin

Prefer the /opt/MATLAB location.
Then install the iFit stand-alone package where-ever you wish (/usr/local/ifit is recommended). Launch ifit from there.
If you have not installed the MCR in /opt/MATLAB, you need to define the MCRROOT environment variable to its location prior to starting iFit :

export MCRROOT=/opt/MATLAB/MATLAB_Compiler_Runtime/v713/

If you do not have Matlab and wish to use iFit as a replacement, create a link:

% sudo ln -s /usr/local/ifit/ifit /usr/local/bin/ifit
% sudo ln -s /usr/local/ifit/ifit /usr/local/bin/matlab

On MacOSX systems, the prepared iFit App contains the Matlab Runtime which does not need to be installed separately. To Open the iFit App the first time and pass the authentication step, press the left Ctrl key and click the iFit icon (after extraction from the ZIP). Then select the Open button.

You can also place the iFit directory in /Applications or /usr/local/ifit, and create links, especially if you do not have Matlab and wish to use iFit as a replacement:

% sudo ln -s /usr/local/ifit/ifit /usr/local/bin/ifit
% sudo ln -s /usr/local/ifit/ifit /usr/local/bin/matlab
Recent MacOSX systems (El capitan, Sierra) provide a Java 7 or 8 version, whereas the standalone requires a Java 6. Install the Java 6 from here, then install iFit standalone.

On Windows systems, install the MCR by double-clicking the corresponding MCRInstaller.exe. The install location defaults to C:\Program Files\MATLAB. Then use the iFit installer.

To launch iFit, click on the 'ifit' icon in the installation directory. You can also drag-n-drop files on the iFit icon to directly import data files and plot them (Linux and Windows systems). This also works when using the operators short cuts included in the iFit standalone directory (under Linux).

Installation - source distribution

You just need to copy the iFit directory somewhere, say in /path/to.
  1. Extract first the iFit archive if needed.
  2. Just drag-drop the iFit directory in the target location that suits you.
For our users who love challenges and command lines, this may be achieved e.g. with
% unzip iFit.zip
% cp -r iFit /path/to
Start Matlab by clicking on its icon or typing the matlab command in a terminal.Matlab icon
% matlab
In order to use iFit, you need to import all its methods into Matlab each time you start it (this may be automated from the startup.m file).
>> addpath(genpath('/path/to/iFit'))
This can also be done from the Matlab menu File/Set Path.../Add with subfolders... then enter the iFit location, and Save. That's all !

A list of fixed bugs and release history is recorded in the Changes page.

Note for Windows 64bits users: recompiling external commands

Windows 64 (XP, Vista, 7, 8)
The Loaders sub library and cif2hkl make use of MeX/external commands. Pre-compiled versions for Windows systems are shipped with the package but this binary may fail with some Matlab releases.

It is possible for re-compilation to use the Matlab compilation infrastructure 'mex'. In that case, it is required to install a compatible C compiler (currently Microsoft Visual C++). The required downloads are, in order, C++ Express then the SDK (for Matlab >= 2010). Older Microsoft Visual C++ 2008 [ISO] can also be used together with the SDK for Windows 7 + NET 3.5 [amd64 ISO]). Just use the default installation settings, then use
>> mex -setup							% select compiler
[1] Microsoft Windows VS2008
>> addpath(genpath('/location/to/iFit')) % install iFit
>> iLoad compile % reload importer methods and recompile looktxt, cbf_uncompress and cif2hkl
When mex is not configured, you may install any C compiler of: gcc, ifc, pgcc, clang/llvm, tcc.
To compile cif2hkl, you should install a Fortran compiler such as: gfortran, g95, pgfc, ifort.

Then force the recompilation of external commands with:
>> iLoad compile
Other systems (Windows 32, Linux, MacOSX)
All other platforms provide a valid C compiler
In order to check and force the recompilation of external commands, launch
>> iLoad compile
from the Matlab prompt. The C compiler to use may have to be specified with the command '>> mex -setup'. Send me the newly compiled looktxt MeX file in a tar.gz/zip archive, so that I update/add it to the distribution.

Refer to the related item in the Changes/Bugs page, especially for manual compilation.

What's next ?

You may test the package integrity by issuing the command:
>> ifittest
which will test, in a few minutes, all the examples given in this documentation and report failures. In principle all should go right. Refer to the iFit Help in case of trouble.
You may start with the Quick Start page to learn what iFit can do for you.

Subscribe to the user mailinglist

The ifit-users is the list set-up in order to exchange information (issues, questions, announcements). Messages should be sent to ifit-users@mail.mccode.org.

You may register by entering your email address and press subscribe:

E. Farhi - iFit Installation - Mar. 22, 2017 $Revision: 1280 $ - back to Main iFit Page ILL,
          Grenoble, France <www.ill.eu>