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ść.
Podobnie nie wolno używać rozszerzeń OpenGL-a bez wcześniejszego
sprawdzenia (w czasie wykonywania programu) czy są one obsługiwane przez
sterownik. Niestety, niektórzy ignorują ten fakt i potem mamy takie
kwiatki jak bcond --with nvidia w foobillard.spec.
wolf
--
Bartek . - Szefie, można prosić klucz?
Taudul : - Szef to jest na jajach.
.:....................................................................
w o l f @ p l d - l i n u x . o r g .:. http://wolf.valkyrie.one.pl/
pgp00000.pgp
Description: PGP signature
