New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resolving symbols for dynamically loaded GL libs #8
Comments
This problem illustrates yet another limitation of LD_PRELOAD. The QT apps dlopen libqglgraphicssystem.so , which is dynamically linked to libGL.so (it does not dlopen("libGL.so") directly), so when glxtrace.so tries to find the real libGL symbols with dlsym(RTLD_NEXT) it fails. Seems a tricky one too... |
1 similar comment
This problem illustrates yet another limitation of LD_PRELOAD. The QT apps dlopen libqglgraphicssystem.so , which is dynamically linked to libGL.so (it does not dlopen("libGL.so") directly), so when glxtrace.so tries to find the real libGL symbols with dlsym(RTLD_NEXT) it fails. Seems a tricky one too... |
Should be fixed now. |
Hi I am trying to debug trace OpenGL ES API of Qt 5.5 Application and I have the same issue with error: unavailable function "glXGetProcAddressARB". |
There's a wonky case of applications which don't link to GL, linking to a library which doesn't link to GL but dlopens another library which links to GL. In this case our dlsym seems to return NULL for gl/glx symbols and the glxtrace.so exits with:
error: unavailable function "glXGetProcAddressARB"
testing:
starting any Qt 4.7+ application with argument "-graphicssystem opengl" e.g.:
qapitrace -graphicsssytem opengl
assistant -graphicssystem opengl
and so on (qtopengl library needs to be installed).
The text was updated successfully, but these errors were encountered: