[GRASS-dev] building TclTk 8.4 for 64bit OSX 10.5

William Kyngesburye woklist at kyngchaos.com
Thu Dec 13 18:58:52 EST 2007

For any who are interested, here is how I was able to get TclTk 8.4 to  
build 64bit on OSX 10.5 (Leopard).  Note that building the default  
32bit on Leopard works without problems (see the macosx/readme.rtf in  
the GRASS source).  TclTk 8.5 builds 64bits, but the GUI doesn't work.

You need at least TclTk 8.4.16.  The 64bit build options are only  
partially complete in 8.4.16.  Tcl is done, but Tk needs help.  To  
make it simpler, build both using the ccub trick.

The ccub trick is the key.  The problem is that the Tk configure  
forcibly strips out any 64bit arch flags you add.  But it still builds  
OK in 64bits.  With the ccub trick, it doesn't see the arch flags.

Here is the basic ccub info:


You can customize ccub and c++ub to make 64bit universal and 32+64bit  
universal versions.  I have these (plus their c++ub companions):

ccub_t      32bit universal, uses the Tiger SDK
ccub_l      32bit universal, uses the Leopard SDK
ccub_64     64bit universal
ccub_3264   32+64bit universal (quad-arch)

It's simple to customize the ccub.c and c++ub.c sources for these,  
just change the ubflags[] at the top.  Valid arch choices are ppc,  
i386, ppc64 and x86_64.  The 64bit variations can only use the Leopard  
SDK (MacOSX10.5.sdk).

So, for a 64bit TclTk, using the 64bit ccub above, installed in /usr/ 

- Tcl:

CC=ccub_64 ./configure --prefix=/usr/local/tcltk --enable-threads
sudo make install


CC=ccub_64 ./configure --prefix=/usr/local/tcltk --enable-threads -- 
with-x --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib --with- 
sudo make install

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

First Pogril: Why is life like sticking your head in a bucket filled  
with hyena offal?
Second Pogril: I don't know.  Why IS life like sticking your head in a  
bucket filled with hyena offal?
First Pogril: I don't know either.  Wretched, isn't it?

-HitchHiker's Guide to the Galaxy

More information about the grass-dev mailing list