[GRASS-dev] GRASS extensions/addons mismatch

Hamish hamish_b at yahoo.com
Fri Dec 16 21:07:31 EST 2011


Michael wrote:
> In preliminary tests (GRASS 6.4 svn release branch), this seems to work
> very well--and in fact considerably better than it does with GRASS
> 7/trunk at the moment.

which one, the wxGUI extension tool or g.extension(.sh) from the command
line? they are independent code. AFAIK William added some extra flags
to the .sh version that are not present in the .py version, but I don't
know if they are strictly needed anymore.

> One of the extensions I test with consistently gives an install target
> not found error in trunk, but installs fine with 6.4 release branch. 

which one? note most addon modules are only in the grass6/ section of
addons svn, and have not been ported to grass-addons/grass7/ yet.

 
> BUT...
> 
> There remains some kind of weird problem with setting GRASS_ADDON_PATH.
> 
> By default, GRASS_ADDON_PATH is set to the desktop,

? what path exactly?
do you set GRASS_ADDON_PATH yourself before starting GRASS? if so that
one should be used and not ~/.grass6/addons/*

which version of grass (AFAIK 6.5svn and trunk are now in sync, 6.4svn
should work fine but does not contain the latest wingrass binary download
logic)

> followed by the various /Library and ~/Library paths. I can
> change it in the GRASS terminal and I can change it in the
> GUI, but if I use $GRASS_ADDON_PATH in g.extension, it STILL
> puts stuff into desktop (as the first path in
> $GRASS_ADDON_PATH).

right it installs to the first dir found in $GRASS_ADDON_PATH, as it
has to pick one, might as well be the first.

> Moreover, I the changes made in GRASS_ADDON_PATH in the terminal do
> not show up when I display settings from the GUI and the changes
> made in GRASS_ADDON_PATH with the GUI do not show up in the
> terminal--and neither are registered by g.extension.

you need to set it before starting GRASS in order for it to get picked
up everywhere, preferably in ~/.profile (or whatever is appropriate
for Macs) and you need to export it there too

from the terminal, did you "export" the enviro variable as well as setting
it? otherwise it only exists in that terminal.

> If I hard code the directory to which I want to install
> with g.extension, it puts stuff there. But the
> GRASS_ADDON_PATH is borked up on the Mac.

note that terminals and the gui do not communicate enviro vars with each 
other: sibling and parent processes are indepenent, only with their direct
launched children inherit exported vars from their parent.


Hamish


More information about the grass-dev mailing list