Elvis,
You can compile GRASS 6.4 with TclTk for X11 for Mac with a bit of tweaking, but I now recommend that you compile it for TclTk 8.5 aqua. You can still have X11 if you need it (e.g., for old GRASS display commands). TclTk 8.5 has finally solved the issues that earlier versions of aqua TclTk had, and both works well and looks nice. All of GRASS, including NVIZ will now run in aqua this way. It uses the native Mac OpenGL instead of the X11 OpenGL. I've worked with William Kyngesbury over the past month or so to work out a formula for doing this. Here is the information.
First, you need TclTk 8.5 aqua. You can compile it from source, but I recently found out that the Active States TclTk binaries will work fine. If you want to compile it from source, however, here are abbreviated instructions.
1) download TclTk 8.5.3 source (or a later version if available)
2) cd into ../tcl8.5.3/unix
3) ./configure --enable-framework --enable-threads
4) make
5) sudo make install
6) cd into ../tk8.5.3/unix
7) ./configure --enable-framework --enable-threads --enable-aqua
8) make
9) sudo make install
Next set up your Mac environment (I'm assuming an intel chip)
1) open a terminal
2) set the following environmental variables (you can leave out -g if you don't want debug enabled)
export CFLAGS="-arch i386 -Os -g"
export LDFLAGS="-arch i386 -Os -g"
export NAD2BIN=/Library/Frameworks/PROJ.framework/Programs/nad2bin
Next, configure and make
1) cd into your GRASS source tree folder
2) Here is my configure string. Note: my configure string puts GRASS into /Applications/GRASS; you can change that with the --prefix setting. It also assumes that you have a current installation of MacPython from the python.org site and the most current version of wxPython installed. This is for the new GUI. If you don't want this, leave out the --with-python and --with-wxwidgets flags. Also note that with OS X 10.5 and wxPython 2.8.0 and above, you no longer need to install Python from the python.org site. You can just install wxPython and it will work fine (but you'll have to change the configure flags to reflect this; stuff will be in /usr/bin and /usr/lib instead of /usr/local/bin and /usr/local/lib).
./configure --with-freetype --with-freetype-includes="/Library/Frameworks/FreeType.framework/unix/include/freetype2 /Library/Frameworks/FreeType.framework/unix/include" --with-freetype-libs=/Library/Frameworks/FreeType.framework/unix/lib --with-gdal=/Library/Frameworks/GDAL.framework/Programs/gdal-config --with-proj --with-proj-includes=/Library/Frameworks/PROJ.framework/unix/include --with-proj-libs=/Library/Frameworks/PROJ.framework/unix/lib --with-proj-share=/Library/Frameworks/PROJ.framework/Resources/proj --with-jpeg-includes=/Library/Frameworks/UnixImageIO.framework/unix/include --with-jpeg-libs=/Library/Frameworks/UnixImageIO.framework/unix/lib --with-png-includes=/Library/Frameworks/UnixImageIO.framework/unix/include --with-png-libs=/Library/Frameworks/UnixImageIO.framework/unix/lib --with-tiff-includes=/Library/Frameworks/UnixImageIO.framework/unix/include --with-tiff-libs=/Library/Frameworks/UnixImageIO.framework/unix/lib --without-postgres --without-mysql --with-odbc --with-sqlite --with-sqlite-libs=/Library/Frameworks/SQLite3.framework/unix/lib --with-sqlite-includes=/Library/Frameworks/SQLite3.framework/unix/include --with-fftw-includes=/Library/Frameworks/FFTW3.framework/unix/include --with-fftw-libs=/Library/Frameworks/FFTW3.framework/unix/lib --with-x --with-cxx --with-opengl=aqua --without-readline --prefix=/Applications/GRASS --enable-macosx-app --with-python=/usr/local/bin/python-config --with-wxwidgets=/usr/local/lib/wxPython-unicode-2.8.8.1/bin/wx-config --with-tcltk-includes="/Library/Frameworks/Tcl.framework/Headers /Library/Frameworks/Tk.framework/Headers /Library/Frameworks/Tk.framework/PrivateHeaders"
3) run make
Finally, make some final adjustments for aqua and install GRASS. Do this AFTER running make
1) In the GRASS source tree, edit the tcltklibs line in ../include/make/platform.make
It will read...
TCLTKLIBS = -Tcl -Tk
Change it to read...
TCLTKLIBS = -framework Tcl -framework Tk
2) run sudo make install
Let us know how it goes
Michael
On Sep 20, 2008, at 11:09 AM, <grass-user-request@lists.osgeo.org> wrote:
Message: 1
Date: Sat, 20 Sep 2008 21:08:34 +0400
From: Elvis Dowson <elvis.dowson@mac.com>
Subject: [GRASS-user] Problems with OpenGL when compiling grass-6.4.0
on Mac OS X 10.5.4
To: GRASS User <grass-user@lists.osgeo.org>
Message-ID: <6B34E8FB-908F-4933-8D4C-5EE0D152545D@mac.com>
Content-Type: text/plain; charset="us-ascii"Hi,
I just downloaded the latest svn snapshot of grass-6.4.0,
installed all the required libraries
proj-4.6.0
gdal-1.5.2
libjpeg-6b
libtiff-3.8.2
libpng-1.2.31
fftw-2.1.5and fixed the X11 OpenGL problem on Mac OS X 10.5.4 as outlined below:
X11 is broken on Leopard, it is impossible to compile programs against
it (more precisely whenever libGL is touched - directly or
indirectly). The easiest way to fix it is as follows:cd /usr/X11/lib
sudo bash
# enter your password
mv libGL.dylib libGL.dylib.apple
ln -s /System/Library/Frameworks/OpenGL.framework/Libraries/
libGL.dylib .This fixed the problem of ./configure being able to locate the OpenGL
libraries.However, when I try to make the program, I get more errors related to
OpenGL.