I have been trying ti build the tbb from source code using gcc 4.9.2.
a) if you could point me to a location where I could find it already built, would be ideal.
b) if not, can you please point to a location with instructions for how to build?
Right now all I am doing is typing gmake and hacking the "make" files (.inc) to add manually a couple of flags for the gcc locale (namely -D__USE_XOPEN2K8 and -std=c++11) but these do not properly propagate, as this shows:
gmake: Entering directory `/.../_dev/tbb_dev/tbb-2017_U6/build/linux_intel64_gcc_cc4.9.2_libc2.12_kernel2.6.32_debug'
g++ -c -MMD -DTBB_USE_DEBUG -DDO_ITT_NOTIFY -g -O0 -DUSE_PTHREAD -m64 -mrtm -fno-rtti -fno-exceptions -D__TBBMALLOC_BUILD=1 -Wno-parentheses -Wno-non-virtual-dtor -fPIC -I../../src -I../../src/rml/include -I../../include -I../../src/tbbmalloc -I../../src/tbbmalloc ../../src/tbbmalloc/backend.cpp
In file included from ../../src/tbbmalloc/backend.cpp:21:0:
/usr/include/string.h:548:5: error: '__locale_t' has not been declared
Can you please help?
It looks you use very old glibc headers for the 4.9 compiler. system gcc looks to be version 4.4 (CentOS 6?). for GCC 4.9 it is needed glibc 2.19 at least but I see that glibc 2.12 is used in your case.
Yes I have built a lot of code in this configuration.
All I had to do is define this strange -D__USE_XOPEN2K8 which I "fished" from the web 3 years ago.
Actually tbb built once (by defining this in CXXFLAGS prior to calling gmake) but I was looking for some gmake command that would install it like the official distribution does to some directory of my choice. (If I add the flag in the Makefile it does not propagate everywhere properly - very likely my bad, as I am only trying things semi-blindly).
I managed to build everything except tbb_preview.
Is there some flag/env.variable that I need to set to build this target as well?
Also who the "packaging" as in tbb2017_2017041oss/lib/intel64/gcc4.7 (and the bin and include) are done from the invocation of gmake?
PS: I defined externally ( export CXXFLAGS="-D__USE_XOPEN2K8" ).
in order to build preview binaries, you need to specify tbb_cpf=1 in the make command line. Make sure to do a clean build, e.g either do "make clean" in advance or add -B to the make command line. Otherwise, existing object files built without preview functionality might be used.
Also note that most of the current preview features of the library affect only the headers and so do not require preview binaries.