[FieldTrip] Debian packaging of fieldtrip

Stefan Klanke s.klanke at donders.ru.nl
Mon Dec 6 10:04:35 CET 2010


Hey Michael,

I'll try to answer some of your questions:

 > 1. Does fieldtrip do actual releases, or is every revision intended 
to be used by users?

The latter is true, we don't do releases.

 > 2. There are no Makefiles, but there is ft_compile_mex.m. However, 
that doesn't seem to build everything that is shipped with the fieldtrip 
distribution.

The ft_compile_mex file is fairly new itself, and indeed only compiles 
the "simple" MEX files without extra dependencies. The big three blocks 
of left-out MEX files are in the a) realtime b) peer and c) multivariate 
(sub-)toolboxes. For a) and b), we need extra stuff like pthreads and 
other system libraries, which is quite hard to build in a simple way 
that still works for all platforms (and compilers). Also, when I made 
the compile script, c) was under heavy restructuring and I didn't even 
know whether I'd have all the sources available. If you're only after a 
compile script or Makefile for Linux (and GCC), we can probably do a lot 
better (see below).

 > 3. Or maybe current fieldtrip code already runs (partially) on octave?

I recently tested some FieldTrip code on Octave 3.2 myself (including 
the buffer mex file), and that ran fine. Nowadays, most of the code 
should run unmodified, since we don't heavily use OOP or Matlab GUI 
code. I won't make any promises, though.

 > Moreover the current SVN version doesn't run successfully, because it
 > expects files in different locations. The following patch allows MEX
 > files to be compiled. ...

Some of the MEX files (and .m files) show up in multiple private 
directories, but we use SVN externals to maintain a single version in 
the repository, and copy this to the various places. If you want a 
source-only distribution, we'd need to adapt the ft_compile_mex script 
to take over the functionality of the SVN externals.

Actually, I guess the proper solution for a source distribution would be 
a global Makefile (maybe based on autoconf) that compiles all the MEX 
files for the version of Matlab or Octave that is visible on the path. 
Until now we've shied away from that effort since our audience is 
usually happy to have the binaries provided for them, and for the 
Windows platform it's easier to compile the MEX files within Matlab.

Cheers,
Stefan



More information about the fieldtrip mailing list