I have been fighting a seg fault and crash on OpenSG startup for about 2 weeks. I finally tracked it down to a problem with function lookups in OSGWindow.cpp. The problem was that my executable was not linked to a GL library so the lookup code in OpenSG fellback to just trying to find libGL.so on the system and pull the glXGetProcAddress symbol from there. Normally this may work, but the library it found on my system was the mesa library instead of the Nvidia library. This made all calls to the looked up functions seg fault immediately. In other words, this fallback is pretty fragile and when it does something wrong it is very wrong and very difficult to track down.
In an attempt to prevent something like this from happening again, I just committed a patch to OSGWindow.cpp (see: http://opensg.vrsource.org/trac/changeset/851 ) that adds support for using glXGetProcAddress directly. I know I tried to get something like this in before and some people had problems with it (because they were using 1.4 GLX headers and a 1.3 GLX library), but I think we have to find a way to keep some code like this in there. IMHO it is a bit crazy to ignore the most directly way we have of looking up GL functions (ie. using the method directly from the GL library that OpenSG is linked against). I don't want other people to suffer through the pain I have had over the past weeks trying to track this down. Does anyone have objections to this patch or any ideas on how to better implement it? -Allen ------------------------------------------------------------------------- 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/ _______________________________________________ Opensg-core mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensg-core
