qrczak: SPECS perl-PDL.spec SOURCES perl-PDL-c++.patch

Jakub Bogusz qboosh w prioris.mini.pw.edu.pl
Pon, 26 Lis 2001, 20:18:21 CET


On Mon, Nov 26, 2001 at 07:06:47PM +0000, Marcin 'Qrczak' Kowalczyk wrote:
> Mon, 26 Nov 2001 18:44:18 +0100 (CET), Tomasz Kłoczko <kloczek w rudy.mif.pg.gda.pl> pisze:
> 
> >> - perl-PDL-c++.patch: link also with stdc++ when linking with OpenGL
> >>   (required with gcc-3.x)
> >> - release 6
> > 
> > Jeste pewien tego co robisz ?
> 
> Nie całkiem. Może trzeba poprawić tworzenie libGLU, żeby samo się
> linkowało (w XFree86). Jest tak:
> 
> [qrczak ~]$ echo 'int main(){return 0;}' >1.c
> [qrczak ~]$ gcc 1.c -o 1 -L/usr/X11R6/lib -lglut
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `operator new[](unsigned)'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `operator delete(void*)'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `__gxx_personality_v0'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `__cxa_pure_virtual'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `vtable for __cxxabiv1::__class_type_info'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `operator delete[](void*)'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info'
> /usr/X11R6/lib/libGLU.so.1: undefined reference to `operator new(unsigned)'
> collect2: ld returned 1 exit status

Tak naprawdę to do poprawienia jest libGLU.
Powinno być linkowane co najmniej z libGL, a wersja SGI (w XFree86 od
4.1.0, w Mesie od 3.5.0), jako że ma fragment w C++, także z libstdc++.
Linkowanie wszystkich programów używających libGLU z libstdc++ jest
błędem - w przypadku użycia Mesy <= 3.4.2 (albo XFree86 <= 4.0.3) jako
OpenGL ta zależność jest zbędna[1].

[1] z tym, że wtedy nie będą działać programy wymagające GLU 1.3.
BTW, chyba przydałoby się wprowadzić wersjonowanie OpenGL.
np. Provides: OpenGL = 1.2 , OpenGL(GLU) = 1.3
(o ile można w ten sposób). Bo np. Mesa 3.4.2 nie ma pełnego GLU 1.3
(tylko chyba 1.2, i to po jakimś #define, bo standardowo 1.1...).


-- 
Jakub Bogusz
http://prioris.mini.pw.edu.pl/~qboosh/



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