[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Pkg-octave-devel] Dynare



"Rafael Laboissiere" <rafael@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



Reply to: