It appears that xlc's support for gcc-style inline asm does not allow an empty clobbers list. The failure I see is
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/asm -I../../opal/include -I../../ompi/include -I../../oshmem/include -I../../opal/mca/hwloc/hwloc1112/hwloc/include/private/autogen -I../../opal/mca/hwloc/hwloc1112/hwloc/include/hwloc/autogen -I../../ompi/mpiext/cuda/c -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2 -I../.. -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/openmpi-2.0.0rc2/orte/include -I../../orte/include -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/ompi/include -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/oshmem/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/asm/asm.c -Wp,-qmakedep=gcc,-MF.deps/asm.TPlo -qpic -DPIC -o .libs/asm.o "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h", line 150.27: 1506-276 (S) Syntax error: possible missing string literal? "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h", line 239.27: 1506-276 (S) Syntax error: possible missing string literal? make[2]: *** [asm.lo] Error 1 The code corresponding to the first error message is 143 static inline int32_t opal_atomic_ll_32 (volatile int32_t *addr) 144 { 145 int32_t ret; 146 147 __asm__ __volatile__ ("lwarx %0, 0, %1 \n\t" 148 : "=&r" (ret) 149 : "r" (addr) 150 :); 151 return ret; 152 } And the second error is the identical line as it appears in opal_atomic_ll_64(). The following patch to remove the "trailing" colons was sufficient to fix this problem. --- openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h~ 2016-05-02 23:37:13.597782000 +0000 +++ openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h 2016-05-02 23:36:11.615404378 +0000 @@ -147,7 +147,7 @@ __asm__ __volatile__ ("lwarx %0, 0, %1 \n\t" : "=&r" (ret) : "r" (addr) - :); + ); return ret; } @@ -236,7 +236,7 @@ __asm__ __volatile__ ("ldarx %0, 0, %1 \n\t" : "=&r" (ret) : "r" (addr) - :); + ); return ret; } -Paul -- Paul H. Hargrove 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