Niekompatybilne libGL.so (X <-> NVidia)

Jakub Bogusz qboosh w pld-linux.org
Wto, 6 Kwi 2004, 20:40:49 CEST


On Tue, Apr 06, 2004 at 07:56:55PM +0200, Bartosz Taudul wrote:
> On Tue, Apr 06, 2004 at 07:45:09PM +0200, Radoslaw Zielinski wrote:
> >   # ClanLib 0.7 z -rDEVEL, budowany na nagłówkach z XFree86
> >   $ gcc /usr/lib/libclan*.so    
> >   /usr/lib/libclanGL.so: undefined reference to `glXGetProcAddress'
> >   collect2: ld returned 1 exit status
> > 
> >   # NVidiowe libGL
> >   $ objdump -T /usr/lib/libGL.so | grep glXGetProcAddress
> >   0001dd04 g    DF .text  00000072  LIBGL       glXGetProcAddressARB
> > 
> > Efekt: aplikacja zlinkowana z -lclanApp -lclanGL -lclanDisplay
> > -lclanCore (w środowisku GL z XFree86 + ClanLib linkowany z tym GL):
> > 
> >   $ rpm -qf /usr/lib/libGL.so
> >   XFree86-driver-nvidia-1.0.5336-2
> >   $ ./dupa                                   
> >   ./dupa: relocation error: /usr/lib/libclanGL-0.7.so.0: undefined symbol: glXGetProcAddress
> Program nie może się odwoływać bezpośrednio do glXGetProcAddress,
> z przyczyn jak wyżej. Musi sobie adres tej funckji znaleść używając
> jakichś czarów z dlopen. SDL udostępnia nawet wrapper na tą
> funkcjonalność.

Chyba zależy czy program z założenia ma wymagać GLX >= 1.4.
Ale znalazłem potwierdzenia, bo nie widzę specyfikacji tej wersji GLX
(na opengl.org jest tylko do 1.3), znalazłem tylko informację, że
glXGetProcAddress() jest jedyną nową funkcją (ale w podstawowym GLX 1.4,
nie jako rozszerzenie).


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl