Building on cori: intel compiler and include file extensions
Created by: rkube
Hi, there are still some issues compiling adios2 on cori using the intel compiler.
This is the error message I get when building: [ 25%] Building CXX object source/adios2/CMakeFiles/adios2.dir/core/Attribute.cpp.o [ 25%] Building CXX object source/adios2/CMakeFiles/adios2.dir/common/ADIOSTypes.cpp.o In file included from /usr/include/c++/7/complex(44), from /opt/intel/compilers_and_libraries_2019.3.199/linux/compiler/include/complex(30), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/common/ADIOSTypes.h(21), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/common/ADIOSTypes.cpp(12): /usr/include/c++/7/cmath(45): catastrophic error: cannot open source file "math.h" #include_next <math.h>
compilation aborted for /global/homes/r/rkube/repos/ADIOS2/source/adios2/common/ADIOSTypes.cpp (code 4) make[2]: *** [source/adios2/CMakeFiles/adios2.dir/build.make:63: source/adios2/CMakeFiles/adios2.dir/common/ADIOSTypes.cpp.o] Error 4 make[2]: *** Waiting for unfinished jobs.... In file included from /usr/include/c++/7/ext/string_conversions.h(41), from /usr/include/c++/7/bits/basic_string.h(6361), from /usr/include/c++/7/string(52), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/core/AttributeBase.h(15), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/core/AttributeBase.cpp(11): /usr/include/c++/7/cstdlib(75): catastrophic error: cannot open source file "stdlib.h" #include_next <stdlib.h> ^ Looking at the first error message of these three, I changed line 21 from ADIOS2/source/common/ADIOSTypes.h from #include <complex.h> to #include
Then icc doesn't look for includes in /usr/include/c++/7, but uses its own include files. But then the next problem, also related to include files, appears:
compilation aborted for /global/homes/r/rkube/repos/ADIOS2/source/adios2/core/AttributeBase.cpp (code 4) make[2]: *** [source/adios2/CMakeFiles/adios2.dir/build.make:111: source/adios2/CMakeFiles/adios2.dir/core/AttributeBase.cpp.o] Error 4 In file included from /usr/include/c++/7/ext/string_conversions.h(41), from /usr/include/c++/7/bits/basic_string.h(6361), from /usr/include/c++/7/string(52), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/core/AttributeBase.h(15), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/core/Attribute.h(14), from /global/homes/r/rkube/repos/ADIOS2/source/adios2/core/Attribute.cpp(11): /usr/include/c++/7/cstdlib(75): catastrophic error: cannot open source file "stdlib.h" #include_next <stdlib.h>
I'm trying to compile with the intel compiler.
These are the modules I have loaded: (base) ✘ rkube@cori08 ~/repos/adios2-build module list Currently Loaded Modulefiles:
- modules/3.2.11.1 9) pmi/5.0.14 17) atp/2.1.3
- nsg/1.2.0 10) dmapp/7.1.1-7.0.0.1_5.15__g25e5077.ari 18) PrgEnv-intel/6.0.5
- intel/19.0.3.199 11) gni-headers/5.0.12.0-7.0.0.1_7.30__g3b1768f.ari 19) craype-haswell
- craype-network-aries 12) xpmem/2.2.17-7.0.0.1_3.20__g7acee3a.ari 20) cray-mpich/7.7.6
- craype/2.5.18 13) job/2.2.4-7.0.0.1_3.26__g36b56f4.ari 21) craype-hugepages2M
- cray-libsci/19.02.1 14) dvs/2.11_2.2.131-7.0.0.1_7.3__gd2a05f7e 22) openmpi/3.1.3
- udreg/2.3.2-7.0.0.1_4.23__g8175d3d.ari 15) alps/6.6.50-7.0.0.1_3.30__g962f7108.ari 23) python/3.7-anaconda-2019.07
- ugni/6.0.14.0-7.0.0.1_7.25__ge78e5b0.ari 16) rca/2.2.20-7.0.0.1_4.29__g8e3fb5b.ari
Any ideas? Thanks, Ralph