[Qgis-developer] GRASS Direct

William Kyngesburye woklist at kyngchaos.com
Tue Dec 11 07:10:41 PST 2012


On Dec 11, 2012, at 4:10 AM, Radim Blazek wrote:

> On Mon, Dec 10, 2012 at 11:12 PM, Larry Shaffer <larrys at dakotacarto.com> wrote:
>> The GRASS-6.4.app, which is a bundled Mac app [0, Qt example] from
>> Kyngchaos.com. But the same holds for the bundled QGIS.app: the Mac
>> operating system, by default, does not pass in the full shell
>> environment, as per a user's terminal profile, to a double-clicked
>> bundled app. It only passes in a very basic env that does NOT even
>> include /usr/local, PATH, DYLD_LIBRARY_PATH, etc. There are tricks to
>> get around this, but my idea is to allow the user to set the env
>> inside of the QGIS preferences (much better).
>> 
>> The custom env setup in QGIS for Mac could offer a button to load in
>> common env setups, like for Kyngchaos.com frameworks, etc.

This is something I asked for as a general preference feature for QGIS:

http://hub.qgis.org/issues/3097

>> The Mac GRASS-6.4.app gets around these issues by first running a
>> shell script to set up the env before launching the embedded binary
>> [1]. So, when the user double-clicks GRASS-6.4.app everything is
>> configured on launch. 

> It is not necessary to set DYLD_LIBRARY_PATH before QGIS is started to
> run GRASS modules because GRASS modules are executed as new processes
> and it is enough to set DYLD_LIBRARY_PATH when the process is started.
> I am not sure however where the GRASS libs are located. I see the
> libraries in
> 
>  GRASS-6.4.pkg/Contents/GRASS-6.4.app/Contents/MacOS/lib
> 
> but the grass.sh [0] is setting DYLD_LIBRARY_PATH to
> 
>  $HOME/Library/GRASS/Modules/lib:/Library/GRASS/6.4/Modules/lib
> 
> Where is pointing the cmake GRASS_PREFIX? To the
> GRASS-6.4.app/Contents/MacOS? Can we get the path to GRASS libs as
> ${GRASS_PREFIX}/lib?
> 
The Mac grass.sh startup only customizes the startup for OS X.  The standard ${GRASS_PREFIX}/lib (and everything else) is set in init.sh, same as other platforms.

> However, to get the QGIS GRASS plugin fully working (display and edit
> GRASS maps, manage region), it is necessary to set the environment
> before QGIS is started as you suggested.

Or at QGIS startup from some configuration preference.

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"Those people who most want to rule people are, ipso-facto, those least suited to do it."

- A rule of the universe, from the HitchHiker's Guide to the Galaxy




More information about the Qgis-developer mailing list