Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
7679 Discussions

icpc 2017 installation conflicts with gcc 9.1 in /usr/local?


First thing first, there is a ticket open for this #04233591.  

So here is the story:


We have been using Intel C++ (2017.6.256) hosted on a CentOS 6.8 for 2 years. 

But recently, after I build gcc 9.1.0 and install it to /usr/local/bin, all C++ code compilation using icpc starts to error out, 
it seems the icpc automatically switches to use the gcc 9.1 header located in usr/local/include/c++/9.1.0/ if /usr/local/bin/gcc and /usr/local/bin/g++ exist.

Here is a typical error:

/opt/intel/compilers_and_libraries_2017.6.256/linux/bin/intel64/icpc  -I/Ydir/savesets/v2020/s -I. -I/Ydir/savesets/v2020/g/clib/python/include -c -fPIC -DGT_DOUBLE_PRECISION -DGTDOUBLE -D_UNIX -DAUTOLIONGT -DNEW_FEATURES -I/Ydir/savesets/v2020/s/usercode/C/UserCodeCControls/include -O2 -g -Dlinux -D_ALL_UNIX_ -o COMMON/obj/MetricAreaDensity.o /Ydir/savesets/v2020/s/autolion/src/unit/MetricAreaDensity.cpp
In file included from /usr/local/include/c++/9.1.0/bits/move.h(55),
                 from /usr/local/include/c++/9.1.0/bits/stl_pair.h(59),
                 from /usr/local/include/c++/9.1.0/bits/stl_algobase.h(64),
                 from /usr/local/include/c++/9.1.0/bits/char_traits.h(39),
                 from /usr/local/include/c++/9.1.0/string(40),
                 from /Ydir/savesets/v2020/s/autolion/src/unit/AreaDensity.h(5),
                 from /Ydir/savesets/v2020/s/autolion/src/unit/MetricAreaDensity.cpp(5):
/usr/local/include/c++/9.1.0/type_traits(1060): error: identifier "__is_assignable" is undefined
        : public __bool_constant<__is_assignable(_Tp, _Up)>


On the hosting linux box, /usr/local in not in any path (intentionally). But somehow, when gcc/g++ 9.1 is installed in /usr/local/bin, the icpc seems to pick up the header automatically. Removing the gcc/g++ from /usr/local/bin will fix the error right away. 


So this is very strange error. Any clue/suggestion. 

0 Kudos
1 Reply

I don't think ICC17 is compatible with GCC9.1.