I've had a bit of a problem for a while - we're currently OSX-based, and I've got a number of Shake plugins that I've written, all of which work fine (well, apart from the odd bug here and there) on OSX.
We're now in the process of slowly moving over to Linux, and I've been working on getting the plugins compiled for that.
We're using Centos 5.3 here.
My problem comes when I try to compile them - Shake recommends using GCC 4.0.0 for compiling, but Centos 5.3 only comes with 3.4.6 and 4.1.2 installed.
When I try to compile using 3.4.6, I get:
$ /usr/bin/g++34 -o ColourTransform.so -shared source/colourTransformNode.os source/colourTransformPlugin.os -L/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/lib -lnrfx_lx -lnrcc_lx -lnrui_lx -lnrgl_lx -lm -lpthread -ldl -lstdc++
/usr/bin/ld: skipping incompatible /mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/lib/libnrfx_lx.so when searching for -lnrfx_lx
/usr/bin/ld: cannot find -lnrfx_lx
And when I try to compile using 4.1.2, I get:
$ /usr/bin/g++ -o source/colourTransformNode.os -c -Wno-deprecated -fomit-frame-pointer -D_REENTRANT -D__SMP__ -D_FILE_OFFSET_BITS=64 -DNDEBUG -pipe -m32 -O2 -I/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc -I/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrfx -I/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrgl -I/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrui -I/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrux -Isource -fPIC source/colourTransformNode.cpp
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:261: error: non-template ‘Entry’ used as template
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:261: note: use ‘NRiHashTable<T>::template Entry’ to indicate that it is a template
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h: In member function ‘void NRiHashIterator<T>::reset()’:
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:281: error: ‘e’ was not declared in this scope
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h: In member function ‘void NRiHashIterator<T>::next()’:
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:290: error: ‘e’ was not declared in this scope
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h: In member function ‘bool NRiHashIterator<T>::valid() const’:
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:297: error: ‘e’ was not declared in this scope
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h: In member function ‘const NRiName& NRiHashIterator<T>::key() const’:
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:303: error: ‘e’ was not declared in this scope
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h: In member function ‘T NRiHashIterator<T>::value() const’:
/mount/nvizible_applications/centos.linux.x86_64/shake/shake.4.10.0606/sdk/include/nrcc/NRiHashTable.h:309: error: ‘e’ was not declared in this scope
I've spent a lot of time trying to get GCC 4.0.0 installed, but this is proving very difficult, and the systems people who I've spoken to have said that this would be very difficult to manage.
Any solutions?
