RedlineResearch / elephant-tracks

0 stars 1 forks source link

Doesn't compile with TBB version 4.1 on Red Hat #7

Open greatmazinger opened 8 years ago

greatmazinger commented 8 years ago

Here's the error message on red-giant (dell27) server:

make BASEDIR=/data/rveroy/pulsrc/elephant-tracks --directory=GraphAlgorithms all
make[1]: Entering directory `/data/rveroy/pulsrc/elephant-tracks/GraphAlgorithms'
g++ -I/usr/lib/jvm/java-1.6.0/include -I/usr/lib/jvm/java-1.6.0/include/linux -I./java_crw_demo -I./agent_util -I./GraphAlgorithms -I./RootEnumerator -I/data/rveroy/src/tbb44_20160526oss -std=c++11 -O2 -fPIC -L./GraphAlgorithms -L./RootEnumerator -I./GraphAlgorithms -I./gzstream -W -Wall -Werror -L/data/rveroy/src/tbb44_20160526oss/build/linux_intel64_gcc_cc6.1.1_libc2.23_kernel4.6.3_release HashGraph.cpp -c -I. -o HashGraph.o
In file included from HashGraph.h:14:0,
                 from HashGraph.cpp:8:
/usr/include/tbb/concurrent_vector.h: In instantiation of ‘tbb::concurrent_vector<T, A>::iterator tbb::concurrent_vector<T, A>::grow_by(tbb::concurrent_vector<T, A>::size_type, tbb::concurrent_vector<T, A>::const_reference) [with T = tbb::atomic<long int>; A = tbb::cache_aligned_allocator<tbb::atomic<long int> >; tbb::concurrent_vector<T, A>::iterator = tbb::internal::vector_iterator<tbb::concurrent_vector<tbb::atomic<long int> >, tbb::atomic<long int> >; tbb::concurrent_vector<T, A>::size_type = long unsigned int; tbb::concurrent_vector<T, A>::const_reference = const tbb::atomic<long int>&]’:
HashGraph.cpp:30:46:   required from here
/usr/include/tbb/concurrent_vector.h:680:38: error: operands to ?: have different types ‘tbb::internal::concurrent_vector_base_v3::size_type {aka long unsigned int}’ and ‘tbb::atomic<long unsigned int>’
         return iterator(*this, delta ? internal_grow_by( delta, sizeof(T), &initialize_array_by, static_cast<const void*>(&t) ) : my_early_size);
                                      ^
/usr/include/tbb/concurrent_vector.h:680:38: note:   and each type can be converted to the other
make[1]: *** [HashGraph.o] Error 1
make[1]: Leaving directory `/data/rveroy/pulsrc/elephant-tracks/GraphAlgorithms'
make: *** [GraphAlgorithms] Error 2
--> rpm -qi tbb
Name        : tbb
Version     : 4.1
Release     : 9.20130314.el7
Architecture: x86_64
Install Date: Thu 23 Jun 2016 06:58:05 PM EDT
Group       : Development/Tools
Size        : 361096
License     : GPLv2 with exceptions
Signature   : RSA/SHA256, Tue 22 Sep 2015 09:36:46 AM EDT, Key ID 199e2f91fd431d51
Source RPM  : tbb-4.1-9.20130314.el7.src.rpm
Build Date  : Sat 16 Aug 2014 05:29:22 PM EDT

--> g++ --version
g++ (GCC) 5.4.0
greatmazinger commented 8 years ago

As a side-note, if we download the version of TBB 3.3 and build on either black-hole or white-hole, elephant-tracks compiles just fine. Note that this doesn't work on red-giant since it's not clear which library gets included first.