Remianing Issues for Fink

Currently, grass70-x11 is almost ready for Fink. However, there are still several issues remaining.

  • (python2.7:80324): Gtk-WARNING **: アイコン 'application-octet-stream' が見つかりませんでした。テーマ 'hicolor' も 見つからないので、インストールする必要があります。 次からコピーを取得できます: http://icon-theme.freedesktop.org/releases
  • On 10.9, wximgview cannot be linked to gdk.
  • OpenGL not supported.
  • $GISBASE/grass.sh and $GISBASE/grass70 are too long. It checks unnecessary (checks for windows) or way too obsolete (e.g. checks for ppc/intel)
  • $GISBASE/grass.sh, $GISBASE/grass70 uses python wrapper ($GISBASE/bin/python), which is also way too much.
  • System python (/usr/bin/env python) hardcoded in gui/wxpython/*/*.py and many other scripts, which are NOT passed from make options or do NOT use python wrapper. All the script should be properly patched.
  • Note: configure does NOT have any option about python version.
  • QGIS Processing plugin can NOT find grass70-x11.

Access from QGIS Processing

Grass7Utils.py
            from processing import runalg
            result = runalg(
                'grass7:v.voronoi',
                points(),
                False,
                False,
                '270778.60198,270855.745301,4458921.97814,4458983.8488',
                -1,
                0.0001,
                0,
                None,
                )
            if not os.path.exists(result['output']):
                return 'It seems that GRASS GIS 7 is not correctly installed and \
                    configured in your system.\nPlease install it before \
                    running GRASS GIS 7 algorithms.'

Build note for 7.0

GRASS's build scripts have several issues:

A new major version of GRASS, 7.0.0, is currently under development. Some options are not passed to runtime scripts. For example, GRASS_PYTHON is hardcoded as "python" (should be $GRASS_PYTHON?) in macops_app/grass.sh.in

MAKE options

See include/Make/Platform.make, include/Make/Vars.make and macosx/Makefile for variables.

OPTIONDefault ValueNote
GISBASE This is a weird varibale. This is the Build directory during ``make''; but install directory during ``make install''.
RUN_GISBASE =$GISBASE Build time variable?
GISBASE_SYSTEM /Library/GRASS/$grass_ver Used in build and grass startup shell scripts.
MACOSX_SUPPDIR/Library/GRASS/
${GRASS_VERSION_MAJOR}.
$${GRASS_VERSION_MINOR}
Used only to create the directory during installation time; Why not use GISBASE_SYSTEM?
PYTHON System python Used during build time; this open does NOT set run-time python.
GRASS_PYTHON pythonw Used by grass startup script ($GISBASE/grass.sh). The value is set by shell script and cannot be overridden, but pythonw is not avaiable, so the shell script needs to be patched.

beta3 issues (against beta2)

Issue 1: In beta2, grass70 looks for gis_set.py $GISBASE/etc/gui/wxpython, but in beta3, it looks for gis_set.py in $GISBASE/gui/wxpython

...
542c547
<                 wxpython_base = gfile("etc", "gui", "wxpython")
---
>                 wxpython_base = gfile("gui", "wxpython")
...

Issue 2: the below error occurs in def gui_startup(wscreen_only = False) in grass70.

Fatal Python error: PyThreadState_Get: no current thread

This is because GRASS_PYTHON is set other than /sw/bin/python2.7.

This issue has been fixed by overriding GRASS_PYTHON in $GISBASE/grass.sh.

Issue 3: general/g.mkfontcap/Makefile

...$(CAPFILE): $(BIN)/$(PGM)$(EXE)
        GISRC=junk GISBASE=$(RUN_GISBASE) \
        $(LD_LIBRARY_PATH_VAR)="$(ARCH_LIBDIR):$(BASE_LIBDIR):$($(LD_LIBRARY_PATH_VAR))" \
        $< -s > $@