Here is the problem. The PGI compiler is especially paranoid regarding post declared structures typedefs. It looks like the include ordering makes the nidmap.h file being included before orte_jmap_t typedefs and siblings have been done.
/opt/cray/xt-asyncpe/4.0/bin/cc: INFO: linux target is being used PGC-S-0040-Illegal use of symbol, orte_jmap_t (../../../../../trunk/orte/util/nidmap.h: 47) PGC-W-0156-Type not specified, 'int' assumed (../../../../../trunk/orte/util/nidmap.h: 47) PGC-S-0040-Illegal use of symbol, orte_pmap_t (../../../../../trunk/orte/util/nidmap.h: 48) PGC-W-0156-Type not specified, 'int' assumed (../../../../../trunk/orte/util/nidmap.h: 48) PGC-S-0040-Illegal use of symbol, orte_nid_t (../../../../../trunk/orte/util/nidmap.h: 49) PGC-W-0156-Type not specified, 'int' assumed (../../../../../trunk/orte/util/nidmap.h: 49) PGC-S-0040-Illegal use of symbol, orte_jmap_t (../../../../../trunk/orte/util/nidmap.h: 63) PGC-W-0156-Type not specified, 'int' assumed (../../../../../trunk/orte/util/nidmap.h: 63) PGC-S-0074-Non-constant expression in initializer (../../../../../trunk/orte/mca/ess/slave/ess_slave_module.c: 95) PGC-S-0074-Non-constant expression in initializer (../../../../../trunk/orte/mca/ess/slave/ess_slave_module.c: 103) PGC-W-0093-Type cast required for this conversion of constant (../../../../../trunk/orte/mca/ess/slave/ess_slave_module.c: 109) PGC-W-0093-Type cast required for this conversion of constant (../../../../../trunk/orte/mca/ess/slave/ess_slave_module.c: 109) PGC/x86-64 Linux 10.5-0: compilation completed with severe errors Aurelien