[GRASS-dev] 6.2.2 RC1, Mac .app compilation, & Tcl/Tk

Scott Mitchell smitch at mac.com
Wed May 30 08:52:01 EDT 2007

My first test of RC1 was on an Intel Macbook.  I have also just  
received a question from a colleague asking for clarification re: Tcl/ 
Tk requirements for GRASS on Macs, so I decided to do some digging...  
so far I'm still confused.

I have tended to stick with the "unix version" of GRASS on my Macs.   
I have occasionally played with either William's binaries  
(kyngchaos.com), or compiling from source with the --enable-macosx- 
app option, but I've never used these versions much beyond quick  
tests, since I work a lot over network connections in a mixed Linux/ 
Mac environment.

Once or twice I ran into troubles with the "wish not behaving as  
expected" error on startup with the .app versions, but never really  
explored this, just went back to my working versions.

So now I'm trying to learn a little more, and will flesh out the  
explanations on the web pages with my findings.

So for 6.2.2 RC1, I just tried compiling with the following:
branford:~/src/grass-6.2.2RC1 smitchl$ ./configure  --prefix=/ 
Applications --enable-macosx-app '--with-libs=/usr/X11R6/lib /Library/ 
Frameworks/UnixImageIO.framework/unix/lib /sw/lib' '--with-includes=/ 
usr/X11R6/include /Library/Frameworks/UnixImageIO.framework/unix/ 
include /sw/include' --with-freetype --with-freetype-includes=/ 
Library/Frameworks/FreeType.framework/unix/include --with-freetype- 
libs=/Library/Frameworks/FreeType.framework/unix/lib --with-gdal=/usr/ 
local/bin/gdal-config --with-motif --with-postgres-includes=/sw/ 
include/postgresql --with-odbc --with-fftw-includes=/Library/ 
Frameworks/FFTW3.framework/unix/include --with-fftw-libs=/Library/ 
Frameworks/FFTW3.framework/unix/lib --with-sqlite --with-python -- 
with-proj=/usr/local --with-cxx --with-tcltk-includes=/sw/include -- 

What I've ended up with, though, is a "unix version" installed under / 
Applications/grass-6.2.2RC1 instead of an .app/  -- I'm assuming this  
is because I specified "unix" tcltk (on this machine, installed  
through fink, so it's in /sw).

It seems to work fine, with the exception of nviz, which generates:
Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_INVALID_ADDRESS (0x0001) at 0x5c637273

I just recompiled a "normal" build into /usr/local, and it too gets a  
segmentation error launching nviz.  Hmm... I'll have to delve into  
that further.

In the meantime, I'm wondering:
(1) Am I correct in inferring that if one wants a .app build, one  
needs to use the Aqua Tcl/Tk (i.e. don't specify a unix/X11 version  
for the tcltk includes and libs) ?
	(a) if that's correct, does the Apple stock distribution work, or  
does it work
		for all except nviz?
	(b) if that's not correct, what went wrong in my build
               - i.e. why didn't I get an .app?

(2) If someone wants to use X11 instead of Aqua, there's nothing  
wrong with an "external" build of Tcl/Tk, alongside Apple's, right?   
If I understand William's writing in http://grass.itc.it/platforms/ 
macgrass/tcltk.php correctly, this is essentially what he has done by  
installing into /usr/X11R6, because Apple's is directly under /usr

(3) Are there any other issues I should be aware of if I'm going to  
edit the platform notes?  I suppose some mention of GRASS_WISH would  
be useful.


More information about the grass-dev mailing list