problems with cpu2006 on win32

Hello!
I’ve got a lot of problem with cpu2006 on win32.
Have anybody got the same problem?

Please look at the following fragment of make.err file:

PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0000 (./netcdf/include\ncio.h: 47)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0001 (./netcdf/include\ncio.h: 54)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0002 (./netcdf/include\ncio.h: 62)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0003 (./netcdf/include\ncio.h: 62)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0004 (./netcdf/include\ncio.h: 129)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0005 (./netcdf/include\ncio.h: 135)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0006 (./netcdf/include\nc.h: 184)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by ‘}’ (./netcdf/include\nc.h: 260)
PGC-S-0040-Illegal use of symbol, off_t (./netcdf/include\nc.h: 261)
PGC-W-0156-Type not specified, ‘int’ assumed (./netcdf/include\nc.h: 261)
PGC-S-0037-Syntax error: Recovery attempted by deleting ‘}’ (./netcdf/include\nc.h: 285)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0007 (./netcdf/include\nc.h: 359)
PGC-S-0035-Syntax error: Recovery attempted by replacing identifier off_t by typedef id .Z0008 (./netcdf/include\ncx.h: 374)
PGC-S-0040-Illegal use of symbol, off_t (./netcdf/include\ncx.h: 381)
PGC-W-0156-Type not specified, ‘int’ assumed (./netcdf/include\ncx.h: 381)
PGC-S-0060-attrs is not a member of this struct or union (netcdf/attr.c: 299)
PGC-W-0095-Type cast required for this conversion (netcdf/attr.c: 299)
PGC-S-0060-vars is not a member of this struct or union (netcdf/attr.c: 301)
PGC-S-0059-Struct or union required on left of . or -> (netcdf/attr.c: 301)
PGC-S-0060-vars is not a member of this struct or union (netcdf/attr.c: 304)
PGC-S-0059-Struct or union required on left of . or -> (netcdf/attr.c: 304)
PGC/x86 nt86 6.2-5: compilation completed with severe errors
specmake: *** [netcdf/attr.obj] Error 2


Thanks

Hi vq25de,

Wrf, Xalancbmk, Perlbench, and Gromacs (7.0 only) need srcalts for use on Windows. In Wrf’s case, the original source for “src/netcdf/posixio.c” only includes the required Windows header file “io.h” if “_MSC_VER” is defined, denoting that the Microsoft Compilers are being used.

posixio.c lines 22-26:

#if defined(_MSC_VER) /* Microsoft Compilers */
#include <io.h>
#else
#include <unistd.h>
#endif

needs to be changed to:

#if defined(_MSC_VER) || defined(SPEC_CPU_NEED_IO_H) /* Microsoft Compilers */
#include <io.h>
#else
#include <unistd.h>
#endif

and “-DSPEC_CPU_NEED_IO_H” needs to be added to your portability flags.

Please send a note to trs@pgroup.com and ask Customer service to forward it to me. I’ll send you the 4 srcalts as well as a config file for PGI on 32-bit Windows. Please indicate which version of the PGI compilers your using since the 6.2 configuration is slightly different than 7.0. Note that these srcalts have been approved for use with CPU2006 V1.0 by the SPEC CPU subcommittee and the source changes have been integrated into CPU2006 version v1.1 (not yet released).

Thanks,
Mat