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

Agustin Diez Castillo Agustin.Diez at uv.es
Wed May 30 10:13:16 EDT 2007

I have been testing William's instructions step by step and now they  
are working for me. What I do is after make distclean, I configure  
with that (I need to export NAD2BIN and CFLAGS, CXXFLAGS and LDFLAGS  
but this is in William's readme.
export NAD2BIN=/Library/Frameworks/PROJ.framework/Programs/nad2bin;   
export CFLAGS="-arch ppc -arch i386 -g -O3"; export CXXFLAGS="-arch  
ppc -arch i386"; export LDFLAGS="-arch ppc -arch i386 ./configure -- 
prefix=/Applications --enable-sysv --with-freetype-libs=/Library/ 
Frameworks/FreeType.framework/unix/lib --with-freetype-includes=/ 
Library/Frameworks/FreeType.framework/unix/include --with-tcltk- 
includes=/usr/local/tcltk/include --with-tcltk-libs=/usr/local/tcltk/ 
lib --with-gdal=/Library/Frameworks/GDAL.framework/unix/bin/gdal- 
config --with-proj-share=/Library/Frameworks/PROJ.framework/Resources/ 
proj --with-proj-includes=/Library/Frameworks/PROJ.framework/unix/ 
include --with-proj-libs=/Library/Frameworks/PROJ.framework/unix/lib  
--with-x --with-cxx --without-glw --without-motif --without-odbc -- 
enable-macosx-app --enable-shared --with-postgres-includes=/usr/local/ 
pgsql/include --with-postgres-libs=/usr/local/pgsql/lib --with-tiff- 
libs=/Library/Frameworks/UnixImageIO.framework/unix/lib --with-tiff- 
includes=/Library/Frameworks/UnixImageIO.framework/unix/include -- 
with-png-libs=/Library/Frameworks/UnixImageIO.framework/unix/lib -- 
include --with-jpeg-includes=/Library/Frameworks/ 
UnixImageIO.framework/unix/include --with-jpeg-libs=/Library/ 
Frameworks/UnixImageIO.framework/unix/lib --with-fftw-includes=/ 
Library/Frameworks/FFTW3.framework/unix/include --with-fftw-libs=/ 
Library/Frameworks/FFTW3.framework/unix/lib --with-opengl=x11 --with- 
opengl-includes=/usr/X11R6/include --with-opengl-libs=/usr/X11R6/lib  
--with-python --with-curses --enable-largefile --x-includes=/usr/ 
X11R6/include --x-libraries=/usr/X11R6/lib
and later,
make bindist
So I got an universal installer that is working fine in a few Macs now.

PD Some comments already on the list

> Thanks to William nviz is working now on my macintel, latest  
> grass6.3 compilation.
> On May 17, 2007, at 8:54 PM, William Kyngesburye wrote:
>> Add these symlinks:
>> sudo ln -s libtcl8.4.dylib /usr/local/tcltk/lib/libtcl.dylib
>> sudo ln -s libtk8.4.dylib /usr/local/tcltk/lib/libtk.dylib

What he said.  Long explanation:

It appears that the standard TclTk build doesn't create those  
symlinks.  So, while you specify the correct dir and configure finds  
it, the linker doesn't and falls back to the system tcltk, which  
causes NVIZ to crash (older Aqua tcltk).

(I had partially fixed this on my Mac a while back and forgot about  
it, and it's been working for me.)

I added the sylink step to the TclTk build instructions in the OSX  
readme.  Hopefully this will take care of the mysterious OSX NVIZ  
problems many people have been having.

William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>

On May 30, 2007, at 2:52 PM, Scott Mitchell wrote:

> 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 --with-tcltk-libs=/sw/lib
> 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.
> Thanks,
> Scott
> _______________________________________________
> grass-dev mailing list
> grass-dev at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/grass-dev/attachments/20070530/0d39fa94/attachment.html

More information about the grass-dev mailing list