Niekompatybilne libGL.so (X <-> NVidia)
Bartosz Taudul
wolf42 w wp.pl
Wto, 6 Kwi 2004, 19:56:55 CEST
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/
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 189 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20040626/02425d48/attachment.bin
Więcej informacji o liście dyskusyjnej pld-devel-pl