Martin,
    Some of the linker behavior in Leopard doesn't make any sense at all. For 
example if I
modify the molmol makedef to link as follows (which works fine under Fedora 7 
linux)...

cd main; make default
/usr/bin/gcc -o molmol -I../../tools/include -I../../sg/include -I../../include 
-DMAXINT=INT_MAX -I/usr/X11R6/include -I/sw/include -bind_at_load  -O 
-bind_at_load  MolMol.o MolInit.o ../../lib/libcip.a ../../lib/libcmd.a 
../../lib/libui.a ../../lib/libgraph.a ../../lib/libio.a ../../lib/libpu.a 
../../lib/libcalc.a ../../lib/libprim.a ../../lib/libdata.a ../../lib/libattr.a 
../../lib/libfileio.a ../../lib/libos.a ../../sg/lib/libsg.a 
../../tools/lib/libtools.a /sw/lib/libtiff.3.dylib /sw/lib/libjpeg.dylib 
/sw/lib/libpng.dylib /usr/lib/libz.dylib -L/usr/lib -L/sw/lib -L/usr/X11R6/lib 
-lGLw -lXm -lXmu -lXt -lXp -lXpm -lGLU 
/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib -lX11 -lXext 
-lmx
Undefined symbols:
  "_GLwCreateMDrawingArea", referenced from:
      _IOMotifOGLInit in libio.a(MotOGL.o)
  "_glXChooseVisual", referenced from:
      _IOMotifOGLStartDump in libio.a(MotOGLDump.o)
      _findVisual in libio.a(MotOGL.o)
  "_glXDestroyGLXPixmap", referenced from:
      _destroyPixmap in libio.a(MotOGLDump.o)
  "_glXCreateContext", referenced from:
      _IOMotifOGLStartDump in libio.a(MotOGLDump.o)
      _IOMotifOGLSetWindow in libio.a(MotOGL.o)
  "_glXUseXFont", referenced from:
      _MotifOGLPrepareFont in libio.a(MotOGL.o)
  "_glXDestroyContext", referenced from:
      _IOMotifOGLEndDump in libio.a(MotOGLDump.o)
  "_glXCreateGLXPixmap", referenced from:
      _IOMotifOGLStartDump in libio.a(MotOGLDump.o)
  "_glXMakeCurrent", referenced from:
      _IOMotifOGLStartDump in libio.a(MotOGLDump.o)
      _IOMotifOGLEndDump in libio.a(MotOGLDump.o)
      _IOMotifOGLSetWindow in libio.a(MotOGL.o)
  "_glXSwapBuffers", referenced from:
      _IOMotifOGLEndFrame in libio.a(MotOGL.o)
  "_glXGetCurrentContext", referenced from:
      _IOMotifOGLStartDump in libio.a(MotOGLDump.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

I get these link failures. It makes no sense that these should occur since 
libGLw appears on the
link line after the appearance of libio.a. Interesting, while 
_GLwCreateMDrawingArea is defined
in libGLw.dylib, _glXDestroyGLXPixmap and other symbols are defined in 
libGL.dylib so I think we
are seeing some complex failure in the linker. It looks like a combination of 
the symbols from
libGLw not being found in concert with the correct libGL X11 not being used for 
symbol resolution.
One other thing we have to keep in mind is that Leopard has the first X11 
release with a dylib
version of libGLw. I have always wondered why Tiger had only a static libGLw.a. 
My fear is that
there was some flaw in the linker on Darwin that prevented a libGLw.dylib from 
functioning
properly. We have to be concerned about whether such information has been 
forgotten by the
current X11 programmers at Apple and that we are simply going to trade one set 
of bugs in
the next Xcode update for another.
           Jack

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel

Reply via email to