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.pyfrom 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.
OPTION | Default Value | Note |
---|---|---|
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 > $@