Fix setup here: https://github.com/open-mpi/ompi-release/pull/1129 <https://github.com/open-mpi/ompi-release/pull/1129>
> On May 2, 2016, at 5:13 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > > AFTER fixing the inline asm problem detailed in > https://www.open-mpi.org/community/lists/devel/2016/05/18886.php > <https://www.open-mpi.org/community/lists/devel/2016/05/18886.php>, I still > cannot build with xlc. > The issue arises in the pmix code and originates from a disagreement between > pmix_hash_table.h and pmix_hash_table.c. > > The header declares 8 functions with a return type of "pmix_status_t" (which > is an enum), while pmix_hash_table.c defines the same functions with a return > type of "int". Meanwhile 1 function has the "opposite" problem (integer decl > vs enum defn). > > The errors seen: > > libtool: compile: xlc -DHAVE_CONFIG_H -I. > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix > -I./include/private/autogen -I./include/pmix/autogen > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/mca/pmix/pmix112/pmix > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/include > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/mca/pmix/pmix112/pmix/include > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2 > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/include > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/include > -D_REENTRANT > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/hwloc/hwloc1112/hwloc/include > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/mca/hwloc/hwloc1112/hwloc/include > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/event/libevent2022/libevent > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/event/libevent2022/libevent/include > > -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/mca/event/libevent2022/libevent/include > -q64 -g -c > /home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c > -Wp,-qmakedep=gcc,-MFsrc/class/.deps/pmix_hash_table.TPlo -qpic -DPIC -o > src/class/.libs/pmix_hash_table.o > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 73.15: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_init differs from previous declaration on > line 73 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 73.15: 1506-050 (I) Return type "enum {...}" in redeclaration is not > compatible with the previous return type "int". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 299.5: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_remove_value_uint64 differs from previous > declaration on line 181 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 299.5: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 365.5: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_get_value_ptr differs from previous > declaration on line 196 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 365.5: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 392.5: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_set_value_ptr differs from previous > declaration on line 209 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 392.5: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 433.5: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_remove_value_ptr differs from previous > declaration on line 220 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 433.5: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 466.1: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_get_first_key_uint32 differs from previous > declaration on line 245 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 466.1: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 493.1: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_get_next_key_uint32 differs from previous > declaration on line 263 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 493.1: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 538.1: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_get_first_key_uint64 differs from previous > declaration on line 281 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 538.1: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 565.1: 1506-343 (S) Redeclaration of > opal_pmix_pmix112_pmix_hash_table_get_next_key_uint64 differs from previous > declaration on line 299 of > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.h". > "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/pmix/pmix112/pmix/src/class/pmix_hash_table.c", > line 565.1: 1506-050 (I) Return type "int" in redeclaration is not > compatible with the previous return type "enum {...}". > make[4]: *** [src/class/pmix_hash_table.lo] Error 1 > > > I suspect that all of these functions should be returning the enum type. > > -Paul > > -- > Paul H. Hargrove phhargr...@lbl.gov > <mailto:phhargr...@lbl.gov> > Computer Languages & Systems Software (CLaSS) Group > Computer Science Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > _______________________________________________ > devel mailing list > de...@open-mpi.org > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2016/05/18887.php