MacOSX GRASS errors: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
Line 38: Line 38:


'''Variables to Update'''
'''Variables to Update'''
CFLAGS              = -g -O2  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
 
```CFLAGS              = -g -O2  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
CXXFLAGS            =  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
CXXFLAGS            =  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
INCLUDE_DIRS        =  -I/Applications/GRASS-7.6.app/Contents/Resources/include
INCLUDE_DIRS        =  -I/Applications/GRASS-7.6.app/Contents/Resources/include
Line 44: Line 45:


MACOSX_SDK          = -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
MACOSX_SDK          = -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
```


== Starting GRASS GIS on MacOSX, I get "AppleScript Error. Terminal got an error: Can't get window 1. (-1728)" ==
== Starting GRASS GIS on MacOSX, I get "AppleScript Error. Terminal got an error: Can't get window 1. (-1728)" ==

Revision as of 19:53, 30 October 2019

Here some problems reported by users along with solutions:

Starting GRASS GIS on MacOSX, I get "image not found"

A) You may be lacking the installation of one or several "frameworks" (e.g. GDAL). Get them from here:

http://grass.osgeo.org/download/software/mac-osx/
--> Install the required framework packages first

B) You are hit by the SIP - System Integrity Protection - security measure which prevents some software from being installed properly. Please see the internet for suggestions how to deal with that. Alternative: use "homebrew" to install GRASS GIS.

Starting GRASS GIS on MacOSX, I get "bad cpu type in executable"

It looks like a macports problem (maybe homebrew also uses /opt/local?) with their Python. A guess is that their python is 64bit-only, and GRASS is trying to run python 32bit because it couldn't find a 64bit wxpython because 64bit wxpython isn't existing yet in the stable release.
Work-around: Edit the file ".bash_profile" in your HOME directory and add therein:

export GRASS_PYTHON=/usr/bin/python2.6
export GRASS_PYTHONWX=/usr/bin/pythonw2.6

When using g.extension, I get "fatal error: grass/gis.h: No such file or directory"

Hint: g.extension should indeed work. The main key is that you need to install the Xcode command line tools. This can be done either from the Xcode app (free from app store), or by downloading the command line tools installer separately (from an Apple developer account).

When using g.extension after updating to MacOSX Mojave and Xcode 10, I get "fatal error: 'stdio.h' file not found"

Note: Updating to MacOSX Mojave and Xcode 10 moves the location of the c header files preventing some GRASS extensions from compiling.

Solution: Install the package file located at the below path to add c header files in /usr/include:

/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg


Update

Fix this issue by updating /Applications/GRASS-7.6.app/Contents/Resources/include/Make/Platform.make

By replacing all references to /Developer/SDKs/MacOSX10.9.sdk with the updated sdk path /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

Variables to Update

```CFLAGS = -g -O2 -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk CXXFLAGS = -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk INCLUDE_DIRS = -I/Applications/GRASS-7.6.app/Contents/Resources/include LINK_FLAGS = -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -L/Applications/GRASS-7.6.app/Contents/Resources/lib -Xlinker -rpath -Xlinker ${prefix}/lib -Xlinker -rpath -Xlinker ${RUN_GISBASE}/lib

MACOSX_SDK = -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk ```

Starting GRASS GIS on MacOSX, I get "AppleScript Error. Terminal got an error: Can't get window 1. (-1728)"

Note: Normally when Terminal is activated (running or not), it starts a new window if there is none open, but I've seen cases where it does not when you start Terminal when it was NOT running.

Solution: Try starting Terminal first, then start GRASS.

Starting GRASS GIS on MacOSX, I get "ERROR: unknown locale: UTF-8"

You need to add these two lines

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

to the file ".bash_profile" in your HOME directory. You can use any text editor to create/edit the file $HOME/.bash_profile (the same: ~/.bash_profile) and copy-paste the these two lines. Just be sure to save it as ".bash_profile" in your home directory.

d.legend does not show numbers

Problem: d.legend and other text is not shown in the display!

Solution: You need to rescan the fonts available on your system:

 g.mkfontcap -o


3D view error on MacOS (black screen)

Problem: 3D view error on MacOS (black screen)

Solution: compile GRASS GIS using homebrew libraries. The trick was to set --with-opengl=aqua, so it uses the opengl librarie from the system. Using --with-opengl=x11 results in the black screen.

See also