[GRASS-dev] X11 trouble on OSX 10.5

William Kyngesburye woklist at kyngchaos.com
Sat Nov 10 15:21:52 EST 2007

This seems to be an OSX 10.5 Leopard problem, so this is a heads-up,  
but maybe something similar has been seen on other platforms?

some background:

Leopard updated to X11R7 - Tiger, Panther have R6.

Apple dropped the "Rn" part of the name, so it's just /usr/X11 now.   
The side effect makes new X11-linked software incompatible with  
Tiger.  There is also a symlink from X11R6 to X11 so old Tiger X11  
software can run on Leopard (assuming they're compatible).

It looks like Tiger's default is to build multi-module libraries (one  
for each object file), while now it's single-module libraries.

First, linking -L/usr/X11/lib -lGL on OSX causes a weird link problem:

ld: cycle in dylib re-exports with /usr/X11/lib/libGL.dylib

After some digging around, this appears to be a common problem on  
Leopard, and the workaround is to use the -dylib_file flag:

-dylib_file /usr/X11/lib/libGL.dylib:/usr/X11/lib/libGL.dylib

So, this works for GRASS/NVIZ.  But now there is another problem -  
maybe OSX-specific. Togl can't find ANY _glX* symbols in libGL:

Undefined symbols for architecture i386:
   "_glViewport", referenced from:
       _Togl_EventProc in togl.o
       _Togl_EventProc in togl.o
   "_glXChooseVisual", referenced from:
       _Togl_CreateWindow in togl.o
   "_glPixelStorei", referenced from:
       _Togl_DumpToEpsFile in togl.o
       _Togl_DumpToEpsFile in togl.o

Linking with -undefined dynamic_lookup solves the build problem.  NVIZ  
also runs, so it's finding those symbols at runtime.  Though there are  
some visual glitches in the view pane that are mostly cleared up by  
resizing the window.

Another issue with X11/Tcltk in Leopard - gis.m won't run.  I get an  

GRASS 6.3.cvs (spearfish60):~ > X Error of failed request:  BadMatch  
(invalid parameter attributes)
   Major opcode of failed request:  70 (X_PolyFillRectangle)
   Serial number of failed request:  2296
   Current serial number in output stream:  2337

Maybe this is a problem with Tcltk 8.5?  Or the newer X11?  or both?   
The error is meaningless to me, and there is no crash+crashlog to help  
figure it out.

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

The equator is so long, it could encircle the earth completely once.

More information about the grass-dev mailing list