NVIDIA OpenGL Extensions
I am trying to use NVIDIA OpenGL extensions on Linux. I have successfully used NV_vertex_program, NV_register_combiners, and other NVIDIA extensions on Windows.
Based on the Linux ABI for OpenGL extensions at opengl.org, it appears that I should call glXGetProcAddress() to get a function pointer to the extension functions. (Similar to wglGetProcAddress() on windows). When I am using a default RedHat 9.0 install with the "nv" driver in XF86Config. The application links and runs fine. Obviously, without the NVIDIA extensions as I would expect.
After I install the NVIDIA drivers with the NVIDIA-Linux-x86-1.0-4363.run script and set the driver to "nvidia" in XF86Config, I get the following error when I run the application.
relocation error: undefined symbol: glXGetProcAddress()
If I try and recompile the application, I now get a linker error:
undefined reference to 'glXGetProcAddress()'
since the NVIDIA install changed the OpenGL shared library which does not contain glXGetProcAddress().
Why is glXGetProcAddress() not in the NVIDIA library and what is the proper way to query and use NVIDIA OpenGL extensions on Linux?