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
[email protected]
http://news.gmane.org/gmane.os.apple.fink.devel