[mythtv] [mythtv-commits] Ticket #4064: NVidia OpenGL undefined reference to glXGetProcAddress in SVN14639
Paul Catchpole
paul at paulcatchpole.co.uk
Mon Oct 8 07:02:35 UTC 2007
MythTV wrote:
> #4064: NVidia OpenGL undefined reference to glXGetProcAddress in SVN14639
> -------------------------------------+--------------------------------------
> Reporter: ross.campbell at gmail.com | Owner: ijr
> Type: defect | Status: new
> Priority: major | Milestone: 0.21
> Component: mythtv | Version: head
> Severity: medium | Mlocked: 0
> -------------------------------------+--------------------------------------
> On my highly modified FC1 system with a 2.4.22 kernel and nvidia 6111
> video drivers where I've been running svn builds on a regular basis, I get
> a compile error with svn 14639:
>
> ccache g++ -o mythtv main.o -L/usr/lib/qt-3.3/lib -L../../libs/libmyth
> -L../../libs/libmythtv -L../../libs/libavutil -L../../libs/libavcodec
> -L../../libs/libavformat -L../../libs/libmythfreemheg
> -L../../libs/libmythui -L../../libs/libmythupnp
> -L../../libs/libmythlivemedia -lmythtv-0.20 -lmythavformat-0.20
> -lmythavutil-0.20 -lmythavcodec-0.20 -lmythfreemheg-0.20 -lmythupnp-0.20
> -lmythlivemedia-0.20 -lmyth-0.20 -lmythui-0.20 -lfreetype -lmp3lame
> -lasound -L/usr/lib -lartsc -lgmodule-2.0 -lgthread-2.0 -lglib-2.0
> -lraw1394 -liec61883 -lavc1394 -lrom1394 -ldirectfb -lfusion -ldirect -lz
> -ldl -L/usr/X11R6/lib -lXinerama -lXv -lXxf86vm -lXrandr -lXvMCW -lXvMC
> -lqt-mt -lGLU -lGL -lXmu -lXext -lX11 -lm -lpthread
> ../../libs/libmythtv/libmythtv-0.20.so: undefined reference to
> `glXGetProcAddress'
>
> After some googling, I found this, wich suggests the solution -- I just
> don't know where in the code this change needs to be made to test it.
>
> http://www.nvnews.net/vbulletin/showthread.php?t=15297
> Thread summary:
>
> Problem: undefined reference to 'glXGetProcAddress()' with Nvidia OpenGL
> shared libraries
>
> Solution: define GLX_GLXEXT_LEGACY to make the prototype for
> glXGetProcAddressARB() visible to the application, and use
> glXGetProcAddressARB instead of glXGetProcAddress
>
>
It looks like your NVIDIA drivers are reporting GLX 1.4 but don't
actually support the required defines. This doesn't look like a MythTV
bug. On the thread you linked, someone from NVIDIA confirms [as of then,
2005] that the method glXGetProcAddress() is only present in 1.4 but
<1.4 the ARB method should be used instead.
The following is from 14616 SVN:
#if GLX_VERSION_1_4
X11S(ret = glXGetProcAddress((const GLubyte*)procName.latin1()));
#elif GLX_ARB_get_proc_address
X11S(ret = glXGetProcAddressARB((const GLubyte*)procName.latin1()));
#elif GLX_EXT_get_proc_address
X11S(ret = glXGetProcAddressEXT((const GLubyte*)procName.latin1()));
#endif
Mind you, I could well be wrong. Daniel_K is the man for this, n'est pas?
PC
More information about the mythtv-dev
mailing list