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