Open-mpi build from source fails


(Phil Cummins) #1

I am using a Macbook Pro with High Sierra 10.14.2 and an updated version of homebrew. I need to compile a c++ program using mpicxx from open-mpi, where the c++ must be g++ version 6.x or newer. I have installed both gcc-6 and gcc-8 using homebrew, but I find if i install open-mpi its mpicxx will use clang. From browsing other discussions I gather that i must install open-mpi from source, so I used:
% export HOMEBREW_CC=gcc-6
% export HOMEBREW_CXX=g+±6
% brew install open-mpi --build-from-source --with-cxx-bindings

But this is what happens:

Updating Homebrew…

==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
ballerina libsecret
==> Downloading https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.0.tar.bz2
Already downloaded: /Users/phil/Library/Caches/Homebrew/downloads/a0952d1f3aa88116c86d63779cde8e97dc710d13ba1a0840e5c37f03033e900c–openmpi-4.0.0.tar.bz2
==> ./configure --prefix=/usr/local/Cellar/open-mpi/4.0.0 --disable-silent-rules --enable-ipv6 --with-libevent=
==> make all
==> make check
Last 15 lines from /Users/phil/Library/Logs/Homebrew/open-mpi/03.make:

PASS: 9

SKIP: 0

XFAIL: 0

FAIL: 1

XPASS: 0

ERROR: 0

============================================================================
See test/class/test-suite.log
Please report to http://www.open-mpi.org/community/help/

make[4]: *** [test-suite.log] Error 1
make[3]: *** [check-TESTS] Error 2
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1

Can anyone please point me in the right direction here? I have tried compiling open-mpi directly from source (i.e., without homebrew), but for some reason the configure is complaining that it can’t run programgs comiled by my homebrew gcc (even though i can do this when I try it myself). Ugh!

Thanks for any advice you can give.


(Mike McQuaid) #2

Sorry, we don’t support build failures using custom compilers. If you’re not able to figure it out yourself I’d suggest you don’t use a custom compiler.