ompi
ompi copied to clipboard
Git clone fails to build on MacOS: can't find libevent
On main HEAD (5571dbabec232a5135ebdf62265b9ffe3522c6f9), with
$ git submodule status
ac7abc6e432cd3fe2d5a72809a987f180133d668 3rd-party/openpmix (v1.1.3-3604-gac7abc6e)
0a7547330050854f8164c4805fafd8e32a2786cd 3rd-party/prrte (psrvr-v2.0.0rc1-4420-g0a75473300)
A simple configure on MacOS fails to complete because it can't find libevent. The same behavior occurs on v5.0.x HEAD (2ade147b0509fc70d600889fa74b0f4b972f1824) with
$ git submodule status
f92f6a94046984091ee3f2494e9d12357a397d8b 3rd-party/openpmix (v4.2.0-11-gf92f6a94)
f9c2354ccbb1b6177e7380d35cd06b952ac67dea 3rd-party/prrte (v3.0.0rc1-30-gf9c2354ccb)
Specifically, the internal PRTE configure complains:
$ ./configure --prefix=/Users/jsquyres/bogus --disable-mpi-fortran
...
*** Configuring PRRTE
checking if PMIx version is 4.0.0 or greater... yes
configure: ===== configuring 3rd-party/prrte =====
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/Users/jsquyres/bogus' --enable-prte-ft --with-proxy-version-string=5.1.0a1 --with-proxy-package-name="Open MPI" --with-proxy-bugreport="https://www.open-mpi.org/community/help/" --enable-prte-prefix-by-default '--disable-mpi-fortran' --cache-file=/dev/null --srcdir=.
============================================================================
== Configuring PRTE
============================================================================
*** Startup tests
checking for a sed that does not truncate output... /usr/bin/sed
checking for perl... perl
...
============================================================================
== Event libraries
============================================================================
checking for static linker flag... no
checking for pkg-config... pkg-config
configure: Searching for libevent in default search paths
checking for libevent cppflags...
checking for libevent ldflags...
checking for libevent libs... -levent_core -levent_pthreads
checking for libevent static libs... -levent_core -levent_pthreads
checking event.h usability... no
checking event.h presence... no
checking for event.h... no
checking for event_getcode4name in -levent... no
checking will libevent support be built... no
checking for libev pkg-config name... libev
checking if libev pkg-config module exists... no
configure: Searching for libev in default search paths
checking for libev cppflags...
checking for libev ldflags...
checking for libev libs... -lev
checking for libev static libs... -lev
checking for event.h... (cached) no
checking will libev support be built... no
configure: WARNING: Either libevent or libev support is required, but neither
configure: WARNING: was found. Please use the configure options to point us
configure: WARNING: to where we can find one or the other library
configure: error: Cannot continue
configure: ===== done with 3rd-party/prrte configure =====
configure: error: PRRTE configuration failed. Cannot continue.
(full configure output attached here: configure-output.txt)
Note that I do not have a valid libevent installed anywhere in compiler/linker search paths -- the internal libevent should be what configure finds and uses.
That being said, if I use the configure flag --with-libevent=internal, then configure succeeds and Open MPI builds correctly.
Users should not need to specify --with-libevent=internal to get a successful build.