/opt/amd/gnutools-4.1.1/bin/ld: /opt/amd/gnutools-4.1.1/lib/gcc/x86_64-redhat-linux/4.1.1-amd-rhel4/libstdc++.a(stdexcept.o): relocation R_X86_64_32S against `vtable for std::logic_error' can not be used when making a shared object; recompile with -fPIC
/opt/amd/gnutools-4.1.1/lib/gcc/x86_64-redhat-linux/4.1.1-amd-rhel4/libstdc++.a: could not read symbols: Bad value
Judging from the above, I think that your GCC compiler is not configured to use shared libraries by default, so it takes a static version of libstdc++, which is not suitable to produce shared objects. As far as I know, Red Hat 4.4 has an older compiler version than 4.1.1, so I assume it was upgraded later, and might be misconfigured that time.
I looked in GCC online docs but did not find an option to forcefully use shared libraries (though the opposite option, -static, is present). So it's unclear if we could force using shared libraries with TBB and eliminate dependency on a particular compiler configuration.