Skip to content

redefinition of ‘struct PMI_keyval_t’ #3202

@kcgthb

Description

@kcgthb

Hi there,

Trying to compile Open MPI 2.0.2 with PMI support for Slurm (17.02.1), I get the following error.

$ ./configure --with-pmi --with-verbs --prefix=/share/software/openmpi/2.0.2
[...]
$ make
[...]
make[2]: Entering directory `/dev/shm/openmpi-2.0.2/build/opal/mca/pmix/s2'
  CC       mca_pmix_s2_la-pmix_s2_component.lo
  CC       mca_pmix_s2_la-pmix_s2.lo
  CC       mca_pmix_s2_la-pmi2_pmap_parser.lo
In file included from ../../../../../opal/mca/pmix/s2/pmix_s2.c:34:0:
/usr/include/pmi2.h:60:16: error: redefinition of ‘struct PMI_keyval_t’
 typedef struct PMI_keyval_t
                ^
In file included from ../../../../../opal/mca/pmix/s2/pmix_s2.c:33:0:
/usr/include/pmi.h:671:16: note: originally defined here
 typedef struct PMI_keyval_t
                ^
In file included from ../../../../../opal/mca/pmix/s2/pmix_s2.c:34:0:
/usr/include/pmi2.h:64:3: error: conflicting types for ‘PMI_keyval_t’
 } PMI_keyval_t;
   ^
In file included from ../../../../../opal/mca/pmix/s2/pmix_s2.c:33:0:
/usr/include/pmi.h:675:3: note: previous declaration of ‘PMI_keyval_t’ was here
 } PMI_keyval_t;
   ^
make[2]: *** [mca_pmix_s2_la-pmix_s2.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/dev/shm/openmpi-2.0.2/build/opal/mca/pmix/s2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/dev/shm/openmpi-2.0.2/build/opal'
make: *** [all-recursive] Error 1

Does that sound familiar?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions