Using GCC-6 in support of Intel icc/icpc on Edison fails with no member "iterator_category"
Trying to build on Edison (which has an older gcc in /usr/bin) the advice
for C++11 code is to module load gcc (6.1.0) so that newer gcc headers are
available to icpc (15.0). This fixes the unique_ptr issue, but now I'm
getting an error I don't understand at all:
../bin/charmc -optimize -production -I. -c -o DummyLB.o DummyLB.C In file included from LBDatabase.h(10), from BaseLB.h(9), from CentralLB.h(9), from DummyLB.h(9), from DummyLB.C(6): /opt/gcc/6.1.0/snos/include/g++/bits/stl_iterator_base_types.h(154): error: class "std::__cxx11::list<client *, std::allocator<client *>>" has no member "iterator_category" typedef typename _Iterator::iterator_category iterator_category; ^
Any ideas here? Do I need an older gcc?
#1 Updated by Sam White over 2 years ago
Using gcc/4.9.3 works. I'm not sure if gcc-5 works or not (or if that's available on Edison).
This suggests that there is a conflict between those version of gcc and icc: https://software.intel.com/en-us/forums/intel-c-compiler/topic/556968