#224 XFree86 - LibGL.dylib, missing symbols

Causes Crash
closed-works-for-me
X libraries (9)
5
2002-12-10
2002-11-17
Anonymous
No

Xfree86 replaces libGL.dylib with it's own version of
the library
located in /usr/X11R6/lib/libGL.dylib.
The Xfree86 version of LibGL.dylib is missing symbols
present in
/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib

The missing symbols cause many OpenGL applications to
crash.

dyld: /Volumes/:Users:.A4/Xtra Applications/Mathematica
4.2.app/Contents/MacOS/Mathematica Undefined symbols:
AGL undefined reference to _CGLGetCurrentContext
expected to be defined in /usr/X11R6/lib/libGL.dylib
AGL undefined reference to _CGLSetCurrentContext
expected to be defined in /usr/X11R6/lib/libGL.dylib
OpenGL undefined reference to _CGLSetCurrentContext
expected to be defined in /usr/X11R6/lib/libGL.dylib
OpenGL undefined reference to _gll_noop expected to be
defined in /usr/X11R6/lib/libGL.dylib
OpenGL undefined reference to _gll_pkey expected to be
defined in /usr/X11R6/lib/libGL.dylib
Nov 17 01:00:16 DougsG4-500 crashdump: Crash report
written to:
/Volumes/:Users:.A4/Users/dgodfrey/Library/Logs/CrashReporter/Mathematica.crash.log

dyld: /Developer/Applications/OpenGL
Info.app/Contents/MacOS/OpenGL Info Undefined symbols:
OpenGL undefined reference to _gll_noop expected to be
defined in /usr/X11R6/lib/libGL.dylib
OpenGL undefined reference to _gll_pkey expected to be
defined in /usr/X11R6/lib/libGL.dylib
Nov 17 01:08:32 DougsG4-500 crashdump: Crash report
written to:
/Volumes/:Users:.A4/Users/dgodfrey/Library/Logs/CrashReporter/OpenGL
Info.crash.log

Discussion

    • assigned_to: nobody --> torrey
     
  • Logged In: YES
    user_id=133579

    XFree86 does not replace libGL.dylib, it simply installs its own version. There's nothing wrong with having two libraries with the same name in different places. The XFree86 version is intended for those X11 applications, while the Apple version is intended for Carbon/Cocoa applications. They live in separate places and each application should link the appropriate one at build time. They don't have the same symbols as they are intended for different things.

    To see the errors you are getting, you must have some setting on your computer which is causing applications normal linking preferences to be overridden so that the stuff in /usr/X11R6/lib is used instead of whatever the application was linked with. Defining environment variables like DYLD_LIBRARY_PATH can do this. Don't do this unless you know exactly what you are doing. If you didn't do this yourself, something you installed on your system has changed your environment in a very non-standard way. How did you install XFree86? Have you installed anything else since you saw this problem?

     
  • Logged In: YES
    user_id=133579

    No followup, so presumably my explanation solved the problem. Closing.

     
    • status: open --> closed-works-for-me