Site map


_static/logoyael.png

Getting Started

Getting SVN version and content

Retrieve the last archive file on the gforge INRIA web server. Windows users should probably use an older version, as we do not support Windows (existing versions are external contributions which are not maintained).

You may be interested in the last in obtaining the latest version of Yael. For registered users, it can be retrieved from the SVN as follows:

svn checkout svn+ssh://mygforgelogin@scm.gforge.inria.fr/svn/yael/trunk yael

This performs the installation of the regular Yael branch of the project into the directory Yael. This installation directory is referred to as YAELROOT in the following. There is also an SVN access for privileged users.

The library is organized as follows:

YAELROOT/                root directory
YAELROOT/LICENCE         licensing information
YAELROOT/Makefile        generic Makefile
YAELROOT/makefile.inc    configuration file generated by configure.sh
YAELROOT/configure.sh    configuration program with basic auto-detection procedures.
YAELROOT/README          subset of this getting started manual
YAELROOT/doc/            documentation: getting started and reference manuals
YAELROOT/matlab/         matlab interface
YAELROOT/progs/          executable programs: front-end and utilities
YAELROOT/test/           sample test programs for various functions
YAELROOT/yael/           core yael directory

Pre-requisites

The library requires the following software/libraries to be installed. Some of them are related to the non-core interfaces (python and matlab) and are not strictly mandatory.

Blas and Lapack.
Any implementation should work as it is wrapped with the Fortran calling conventions. It might be required to adjust the location of these libraries in the makefile.inc file generated by the configure.sh script. The LD_LIBRARY_PATH environment variable may also need to be set accordingly.
Python-dev.
This package contains the include files of the Python-C API. Note that having python installed on your machine does not necessarily mean that the development kit is installed as well. If only python is installed, not python-dev, you will get an error saying that the file Python.h can not be found.
swig
is required to create the python interface.
Matlab
is required only for the matlab Yael interface. It is not compiled by default.
doxygen
is used to generate the reference manual (HTML) from the source files.

sphinx and pdflatex are used to re-generate this getting started manual.

These two last pre-requisites are required by the Python interface and are not strictly mandatory. If you are not interested by this Python interface and that you don’t have python-dev and swig installed, you should remove the target _yael.so target in the Makefile of the yael core directory.

Installation procedure

The source is compiled with hand-written Makefiles. All system-dependent options are defined in the toplevel makefile.inc. The makefiles can be called in their directory.

First execute:

./configure.sh

in the yael root directory. This generates the file makefile.inc using basic auto-detection procedures. For most configurations, these should be sufficient. However you might need to adjust the variables defined in makefile.inc to fit your local configuration.

The standard make tool is used to compile the library:

make

If everything goes fine, your should be able to compile the programs in progs and test.

At this point, only the core C and python library are compiled. If you need the Matlab interface, you have to compile the mex files [1]

cd matlab
matlab -nojvm
>> Make

Warning

The former compilation of the Matlab interface on command line is not available anymore, following many request for help of users who were unable to correctly set up their linking path in makefile.inc. Only the compilation from Matlab remains. If this one does not work, please ensure that you Mex compilation works properly (i.e., on a simple example in Matlab doc) before contacting us.

Remark: In order to use the 32 bit mode on MacOS (not recommended), use the special flag --mac32:

./configure.sh --mac32
[1]The previous command line compilation is not available anymore, due to multiple help requests of users facing difficulties to properly set up the linking