<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
I'm building pnetcdf 1.7.0 using the Intel 15.0 compiler and ran
into this error:<br>
<blockquote><tt>make -w -C ncoffsets</tt><br>
<tt>make[3]: Entering directory
`/cm/extra/apps/PNetCDF/1.7.0/Intel-15.0_OpenMPI-1.10.2_CUDA-7.5/distro/src/utils/ncoffsets'</tt><br>
<b><tt>/usr/bin/gcc -o ncoffsets ncoffsets.c</tt></b><br>
<tt>In file included from /usr/include/inttypes.h:27:0,</tt><br>
<tt> from ncoffsets.c:16:</tt><br>
<tt>/cm/shared/apps/intel/composer_xe/2015.5.223/compiler/include/stdint.h:43:54:
error: missing binary operator before token "("</tt><br>
<tt> defined(__has_include_next) &&
__has_include_next(<stdint.h>)</tt><br>
<tt> ^</tt><br>
<tt>/cm/shared/apps/intel/composer_xe/2015.5.223/compiler/include/stdint.h:292:1:
error: unknown type name ‘uint__INTPTR_WIDTH___t’</tt><br>
<tt> typedef __uintn_t(__INTPTR_WIDTH__) uintptr_t;</tt><br>
<tt> ^</tt><br>
<tt>make[3]: *** [ncoffsets] Error 1</tt><br>
<tt>make[3]: Leaving directory
`/cm/extra/apps/PNetCDF/1.7.0/Intel-15.0_OpenMPI-1.10.2_CUDA-7.5/distro/src/utils/ncoffsets'</tt><br>
</blockquote>
I think the problem is that gcc is trying to use the Intel versions
of the header-files, but the question is "why?".<br>
My workaround is to use<br>
<blockquote><tt>unset CPATH</tt><br>
</blockquote>
after I've loaded all my environment modules.<br>
But a key question is why gcc is being invoked when I've made these
settings<br>
<blockquote><tt>export
CC=/cm/shared/apps/intel/composer_xe/2015.5.223/bin/intel64/icc</tt><br>
<tt>export
CXX=/cm/shared/apps/intel/composer_xe/2015.5.223/bin/intel64/icpc</tt><br>
<tt>export
F77=/cm/shared/apps/intel/composer_xe/2015.5.223/bin/intel64/ifort</tt><br>
<tt>export
F90=/cm/shared/apps/intel/composer_xe/2015.5.223/bin/intel64/ifort</tt><br>
<tt>export
FC=/cm/shared/apps/intel/composer_xe/2015.5.223/bin/intel64/ifort<br>
<br>
</tt><tt>export
MPICC=/cm/extra/apps/OpenMPI/1.10.2/Intel-15.0_CUDA-7.5_HWLoc-1.11.2/bin/mpicc</tt><br>
<tt>export
MPICXX=/cm/extra/apps/OpenMPI/1.10.2/Intel-15.0_CUDA-7.5_HWLoc-1.11.2/bin/mpicxx</tt><br>
<tt>export
MPIF77=/cm/extra/apps/OpenMPI/1.10.2/Intel-15.0_CUDA-7.5_HWLoc-1.11.2/bin/mpif77</tt><br>
<tt>export
MPIF90=/cm/extra/apps/OpenMPI/1.10.2/Intel-15.0_CUDA-7.5_HWLoc-1.11.2/bin/mpif90</tt><br>
</blockquote>
During the configure phase I see these messages (excerpted):<br>
<blockquote><tt>checking for gcc...
/cm/extra/apps/OpenMPI/1.10.2/Intel-15.0_CUDA-7.5_HWLoc-1.11.2/bin/mpicc</tt><br>
<tt>checking whether the C compiler works... yes</tt><br>
<b><tt>checking whether we are using the GNU C compiler... yes</tt></b><br>
<tt>checking whether we are using the GNU C++ compiler... yes</tt><br>
<tt>checking whether we are using the GNU Fortran 77 compiler...
no</tt><br>
</blockquote>
The OpenMPI in this case had been built on top of the Intel
compilers.<br>
I've seen messages like this when I've built other utilities, so
either<br>
<ol>
<li>I really am falling through to the GCC compilers, or</li>
<li>Both icc & gcc look identical to the version of autotools
on the system I'm using. Do the tests really make them look
identical?<br>
</li>
</ol>
On the flipside, I don't get these messages when I use the PGI
compilers.<br>
But gcc is used to build the ncoffsets in this case as well, it just
doesn't fail.<br>
Thanks,<br>
<br>
Carl Ponder<br>
<br>
<DIV>
<HR>
</DIV>
<DIV>This email message is for the sole use of the intended recipient(s) and may
contain confidential information. Any unauthorized review, use, disclosure
or distribution is prohibited. If you are not the intended recipient,
please contact the sender by reply email and destroy all copies of the original
message. </DIV>
<DIV>
<HR>
</DIV>
</body>
</html>