SoQt-1.4.1 Compilation fails with gcc-4.4.1 Patch to fix this problem is attached. SoQtComponent.cpp: In static member function 'static void SoQtComponentP::atexit_cleanup()': SoQtComponent.cpp:112: error: invalid conversion from 'void (*)(long unsigned int, void*)' to 'void (*)(SbDictKeyType, void*)' SoQtComponent.cpp:112: error: initializing argument 1 of 'void SbDict::applyToAll(void (*)(SbDictKeyType, void*)) const' make[8]: *** [SoQtComponent.lo] Error 1 Reproducible: Always
Created attachment 201532 [details, diff] Patch to make SoQt-1.4.1 compile under gcc-4.4.1
Created attachment 201534 [details] Modified ebuild for SoQt-1.4.1
Fixed in portage, thanks for the patch!
Compiling against coin-2.4.5 with gcc 4.3.4, this patch causes the following error: SoQtComponent.cpp:103: error: variable or field 'delete_dict_value' declared void SoQtComponent.cpp:103: error: 'SbDictKeyType' was not declared in this scope SoQtComponent.cpp:103: error: expected primary-expression before 'void' SoQtComponent.cpp: In static member function 'static void SoQtComponentP::atexit_cleanup()': SoQtComponent.cpp:112: error: 'delete_dict_value' was not declared in this scope make[8]: *** [SoQtComponent.lo] Error 1 I found the same bug in Debian - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515742 - which provides a patch taken from upstream. The upstream patch does the same as this patch but conditional on coin > 3. This fixed my compile error.
Created attachment 208211 [details] Patch from Debian - Change type conditional on version of Coin
Thanks for the patch! Sync and re-emerge SoQt-1.4.1