[Pkg-octave-devel] Dynare
Sébastien Villemot
sebastien.villemot at ens.fr
Thu Mar 26 17:33:15 UTC 2009
"Rafael Laboissiere" <rafael at debian.org> a écrit :
> I would prefer that the files are put in a place were Octave can find
> them without loadpath manipulations.
>
> I have not checked in detail, but it seems that some of the functions
> provided by dynare will have name clashes with the functions in the
> octave package (betarnd, for instance). I still have to think how to
> cope with this.
In order to make the right decision for the directory structure of the
package, I must detail somewhat the structure of Dynare as we use for
the moment.
First you have:
(1) the main M-scripts (including the entry point dynare.m), stored
under /usr/lib/dynare/matlab. These probably don't clash with Octave
function names.
(2) the preprocessor, an executable written in C++, stored under
/usr/lib/dynare/matlab, and run from dynare.m through a system() call
(3) the MEX files for Octave, stored under /usr/lib/dynare/mex/octave
These three are enough for a fully function Debian+Octave installation.
For Matlab users, we also provide the following:
(4) the MEX files for Matlab, stored under
/usr/lib/dynare/mex/{2007a,2007b}. Since we can't provide them inside
a Debian package, my idea is to create a helper for users who want to
compile them on their own Matlab installation
(5) M-scripts under /usr/lib/dynare/matlab/{qz,gensylv,kronecker},
which provide the same functionality than the MEX files, aimed at
people who can't recompile the MEX files on their Matlab for whatever
reason
(6) M-scripts under /usr/lib/dynare/matlab/distributions, which
provide a subset of the Matlab Statistics Toolbox, for people who
don't have it. These are essentially modified versions of their
counterparts in the official Octave distribution, hence the name
clashes.
A first solution is to keep everything as it is, installed under
/usr/lib/dynare.
A second solution is the following:
* a "dynare" package, providing a full Octave installation, installing
(1) in /usr/share/octave/packages, (2) in /usr/bin and (3) in
/usr/lib/octave/packages. The idea would therefore be to create a
clean Octave package.
* a "dynare-matlab" package, providing a full Matlab installation in
/usr/lib/dynare, with (4)+(5)+(6) installed there. It would depend on
the "dynare" package, and would provide (1) in /usr/lib/dynare through
a symlink.
A third solution is to provide two totally independent "dynare" and
"dynare-matlab" packages, the first containing a clean Octave package,
the second installing itself under /usr/lib/dynare.
--
Sébastien Villemot
More information about the Pkg-octave-devel
mailing list