On Wed, Feb 4, 2015 at 4:51 PM, Markus Neteler <neteler@osgeo.org> wrote:
On Tue, Jan 27, 2015 at 10:17 AM, Moritz Lennert
<mlennert@club.worldonline.be> wrote:
> On 25/01/15 13:09, Markus Neteler wrote:
>> I have updated that script now. Voilà:
>>
>> http://grass.osgeo.org/grass70/manuals/addons/
>
>
> Great !
>
> Just one issue: some of the add-ons fail to compile on the server,
sometimes
> because some additional libraries are missing (ex: v.class.mlpy, v.nnstat
> and v.kriging)
Yes, because they are compiled on the Windows server which generates
the nightly snapshots which does not have all packages.
Dependencies are easier to solve on Linux than on MS Windows but sometimes
it just might be too complicated to get them.
With Andy [1] we tried yesterday an approach where you avoid import of the
uncommon dependency at the beginning [2] and you import it only after
grass.script.parser() call [3]. This approach seems to work sufficiently
[4]. If the dependency is not present, user will get an after running the
module, GUI and help will be shown, which might be actually a bit
frustrating because at this point you already filled all the parameters,
however, it seems like a good compromise. It should work for most of the
Python scripts, e.g. v.class.mlpy and v.class.ml.
Another thing which needs more work is a possibility of installing
dependencies using the module itself, e.g. when a special flag (possibly
not processes by parser) is provided.
See also "how to formulate Makefiles for addons so that additional files
get installed correctly by g.extension" discussion [1].
Vaclav
[1] http://lists.osgeo.org/pipermail/grass-dev/2015-February/073713.html
[2]
http://trac.osgeo.org/grass/browser/grass-addons/grass7/raster/r.flexure/r.flexure.py?rev=64452#L157
[3]
http://trac.osgeo.org/grass/browser/grass-addons/grass7/raster/r.flexure/r.flexure.py?rev=64452#L176
[4] http://grass.osgeo.org/grass70/manuals/addons/r.flexure.html
[5]
http://trac.osgeo.org/grass/browser/grass-addons/grass7/raster/r.flexure/r.flexure.py?rev=64452#L295
> and because of that they are not listed on this page.
Do you have an example? They are all autogenerated if they are in the
parent Makefile registered.
> I don't know what the policy is: should all modules compile on the server
> and so should all dependencies be installed,
Ideally yes but that's quite some work for the Windows server admin...
> or do we have to find a
> different solution for these ? Is it possible to only make the man pages
and
> so avoid the issue of dependencies in the main source code ?
I could instead generate them on Linux. But not too soon due to being
too busy these days.
Markus