Dear GRASS List,
In the grass72 startup script, in the function:
def bash_startup(location, location_name, grass_env_file):
These lines exist:
for line in readfile(env_file).splitlines():
if not line.startswith('export'):
f.write(line + '\n')
If I comment out the 2nd line (and fix the indentation for the 3rd line because this is Python), then I can add "export DYLD_LIBRARY_PATH=..." in either ~/.grass.bashrc or ~/.grass7/bashrc and this fixes various GRASS issues on OS X relating to the temporal framework.
Can a GRASS developer explain to me why the startup scripts ignores EXPORT statements from the GRASS init file? Is there a problem if I change this behavior? Should I submit an patch to change this behavior permanently for computers other than my own?
In more detail, this is not an issue with Fink installations, but is with MacPorts. Fink installs an OS X Application: GRASS.app. Deep in the app I found a Makefile that seems to tell GRASS.app to respect "GRASS_LD_LIBRARY_PATH". The Macports version does not install an app, and does not respect the GRASS_LD_LIBRARY_PATH variable. For some reason, shell-level LD_LIBRARY_PATH and DYLD_LIBRARY_PATH 's are also not respected (perhaps due to SIP?).
I've switched from Fink to MacPorts because the Fink installation (on my system) has a GDAL issue and I cannot use 'r.external'. The MacPorts version allows me to use 'r.external', but I cannot use the temporal framework now, unless I edit out the line in the grass72 script.
Thanks,
-k.
Ken,
On Sun, Dec 3, 2017 at 2:37 PM, Ken Mankoff <mankoff@gmail.com> wrote:
Dear GRASS List,
In the grass72 startup script, in the function:
def bash_startup(location, location_name, grass_env_file):
These lines exist:
for line in readfile(env_file).splitlines():
if not line.startswith('export'):
f.write(line + '\n')
If I comment out the 2nd line (and fix the indentation for the 3rd line because this is Python), then I can add "export DYLD_LIBRARY_PATH=..." in either ~/.grass.bashrc or ~/.grass7/bashrc and this fixes various GRASS issues on OS X relating to the temporal framework.
Can a GRASS developer explain to me why the startup scripts ignores EXPORT statements from the GRASS init file? Is there a problem if I change this behavior? Should I submit an patch to change this behavior permanently for computers other than my own?
In more detail, this is not an issue with Fink installations, but is with MacPorts. Fink installs an OS X Application: GRASS.app. Deep in the app I found a Makefile that seems to tell GRASS.app to respect "GRASS_LD_LIBRARY_PATH". The Macports version does not install an app, and does not respect the GRASS_LD_LIBRARY_PATH variable. For some reason, shell-level LD_LIBRARY_PATH and DYLD_LIBRARY_PATH 's are also not respected (perhaps due to SIP?).
I've switched from Fink to MacPorts because the Fink installation (on my system) has a GDAL issue and I cannot use 'r.external'. The MacPorts version allows me to use 'r.external', but I cannot use the temporal framework now, unless I edit out the line in the grass72 script.
Can you please create a ticket for this? Then the developers reading
the grass-dev mailing list will get notified instantly.
thanks
Markus
Thanks,
-k.
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user
--
Markus Neteler, PhD
http://www.mundialis.de - free data with free software
http://grass.osgeo.org
http://courses.neteler.org/blog