View Single Post
Old 07-23-03, 05:52 PM   #1
dougs
Registered User
 
Join Date: Jul 2003
Posts: 2
Default 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?

Thanks

Doug Service
dougs is offline   Reply With Quote