All,
Can someone help with this. I recently tried building Open MPI 2.0.1 with the new Community Edition of PGI on macOS. My first mistake was I was configuring with a configure line I’d cribbed from Linux that had -fPIC. Apparently -fPIC was removed from the macOS build. Okay, I can remove that and I configured with:
./configure --disable-wrapper-rpath CC=pgcc CXX=pgc++ FC=pgfortran CFLAGS='-m64' CXXFLAGS='-m64' FCFLAGS='-m64' --without-verbs --prefix=/Users/mathomp4/installed/Compiler/pgi-16.10/openmpi/2.0.1 | & tee configure.pgi-16.10.log
But, now, when I try to actually build, I get an error pretty quick inside the make:
CC printf.lo
CC proc.lo
CC qsort.lo
PGC-F-0249-#error -- "No way to define ev_uint64_t" (/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent/include/event2/util.h: 126)
PGC/x86-64 OSX 16.10-0: compilation aborted
CC show_help.lo
make[3]: *** [proc.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
This was done with -j2, so if I remake with ‘make V=1’ I see:
source='proc.c' object='proc.lo' libtool=yes \
DEPDIR=.deps depmode=pgcc /bin/sh ../../config/depcomp \
/bin/sh ../../libtool --tag=CC --mode=compile pgcc -DHAVE_CONFIG_H -I. -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../.. -I../../orte/include -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/hwloc/hwloc1112/hwloc/include -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent/include -O -DNDEBUG -m64 -c -o proc.lo proc.c
libtool: compile: pgcc -DHAVE_CONFIG_H -I. -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../.. -I../../orte/include -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/hwloc/hwloc1112/hwloc/include -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent -I/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent/include -O -DNDEBUG -m64 -c proc.c -MD -o proc.o
PGC-F-0249-#error -- "No way to define ev_uint64_t" (/Users/mathomp4/src/MPI/openmpi-2.0.1/opal/mca/event/libevent2022/libevent/include/event2/util.h: 126)
PGC/x86-64 OSX 16.10-0: compilation aborted
make[3]: *** [proc.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
I guess my question is whether this is an issue with PGI or Open MPI or both? I’m not too sure. I thought I’d ask here and I’ll probably ping the Open MPI list as well. But, no matter what, does anyone have thoughts on how to solve this?
(Note: I know that the macOS distro includes MPICH3 it’s just that the infrastructure for the model I work on doesn’t know MPICH3. I’m going to try and extend that now (need to figure out how to link, etc., as well as get beta versions of libraries) but Open MPI is “built-in” so I tried that first.)
Thanks,
Matt