FWIW, It compiles with PGI 7.2 on RHEL4U7
[acaird@nyx-login1 ~]$ ompi_info | grep "compiler abs"
C compiler absolute: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgcc
C++ compiler absolute: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgCC
Fortran77 compiler abs: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgf77
Fortran90 compiler abs: /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgf90
[acaird@nyx-login1 ~]$ /usr/caen/pgi-7.2/linux86-64/7.2-1/bin/pgf90 -V
pgf90 7.2-1 64-bit target on x86-64 Linux -tp k8-64e
Copyright 1989-2000, The Portland Group, Inc. All Rights Reserved.
Copyright 2000-2008, STMicroelectronics, Inc. All Rights Reserved.
[acaird@nyx-login1 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux WS release 4 (Nahant Update 7)
[acaird@nyx-login1 ~]$
On Thu, 12 Mar 2009, Jeff Squyres wrote:
It's odd because PGI 7.0 and 7.1 compile OMPI just fine (don't know
about PGI 7.2).
On Mar 12, 2009, at 7:09 PM, Mark Potts wrote:
All,
I don't know PGI's compilers, but is it possible that since
"restrict"
was supposedly introduced as a C99 feature that it is not
supported
by default by their C compiler? This would explain the wording of
the error message which indicates interpretation of "restrict"
as a
variable name.
Perhaps, like gcc, there is a -std=c99 option for the PGI
compiler?
regards,
George Bosilca wrote:
Apparently, the PGI compiler (version 8) doesn't recognize
restrict as a
keyword in a function prototype if the associated argument is not
named.
There is one obvious solution: remove the restrict keyword but I
don't
think it's the right one.
Can you try to replace
typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void
*restrict,
void
*restrict,
void
*restrict,
int *,
struct
ompi_datatype_t **,
struct
ompi_op_base_module_1_0_0_t *);
by typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void
*restrict
in1,
void
*restrict in2,
void *restrict
out, int *,
struct
ompi_datatype_t **,
struct
ompi_op_base_module_1_0_0_t *);
Thanks,
george.
On Mar 11, 2009, at 15:52 , Mostyn Lewis wrote:
Compiling SVN r20757 with PGI 8.0-4 failed doing ompi_info with
"../../../.././ompi/mca/op/op.h", line 264: error: duplicate
parameter
name
void
*restrict,
^
"../../../.././ompi/mca/op/op.h", line 265: error: duplicate
parameter
name
void
*restrict,
int *,
^
2 errors detected in the compilation of
"../../../.././ompi/tools/ompi_info/components.cc".
make[2]: *** [components.o] Error 2
make[2]: Leaving directory
`/tmp/o/openmpi-1.4a1r20757_svn/build/ompi/tools/ompi_info'
Code is:
/*
* Typedef for 3-buffer (two input and one output) op functions.
*/
typedef void (*ompi_op_base_3buff_handler_fn_1_0_0_t)(void
*restrict,
void
*restrict,
void
*restrict,
int *,
struct
ompi_datatype_t **,
struct
ompi_op_base_module_1_0_0_t *);
DM
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
***********************************
>> Mark J. Potts, PhD
>>
>> HPC Applications Inc.
>> phone: 410-992-8360 Bus
>> 410-313-9318 Home
>> 443-418-4375 Cell
>> email: po...@hpcapplications.com
>> po...@excray.com
***********************************
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Cisco Systems
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users