如何使用自制软件和gcc-4.9构建openmpi?

ilc*_*avo 6 homebrew gcc clang openmpi

默认情况下brew install openmpi用于clang创建其包装器.

我需要gcc-4.9为包装器指定(Homebrew安装).

我试过了

$export CC=gcc-4.9
$brew install openmpi

$brew install --cc=gcc-4.9 openmpi

$brew install --with-gcc49 openmpi

$brew install -CC=gcc-4.9 -CXX=g++-4.9 -FC=gfortran -F77=gfortran openmpi

$brew install openmpi --cc=gcc-4.9 

$brew install openmpi --CC=gcc-4.9 --CXX=g++-4.9 --FC=gfortran --F77=gfortran
Run Code Online (Sandbox Code Playgroud)

最后,我修改了openmpi公式添加:

 args = %W[
  CC=gcc-4.9 
  CXX=g++-4.9 
  FC=gfortran 
  F77=gfortran
Run Code Online (Sandbox Code Playgroud)

我还是得到的

$mpicc --showme
clang -I/usr/local/Cellar/open-mpi/1.8.4/include -L/usr/local/opt/libevent/lib -L/usr/local/Cellar/open-mpi/1.8.4/lib -lmpi
Run Code Online (Sandbox Code Playgroud)

ilc*_*avo 9

最后解决如下:

1)为自制软件添加环境变量(您也可以将这些行添加到您的~\.bashrc):

export HOMEBREW_CC=gcc-4.9
export HOMEBREW_CXX=g++-4.9
Run Code Online (Sandbox Code Playgroud)

2)openmpi从源代码重建并重新安装及其依赖项

brew reinstall openmpi --build-from-source
Run Code Online (Sandbox Code Playgroud)

3)最后你会得到一条消息:

==> Reinstalling open-mpi
==> Using Homebrew-provided fortran compiler.
This may be changed by setting the FC environment variable.
==> Downloading http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.
Already downloaded: /Library/Caches/Homebrew/open-mpi-1.8.4.tar.bz2
==> ./configure --prefix=/usr/local/Cellar/open-mpi/1.8.4 --disable-silent-rules 
==> make all
==> make check
==> make install
Warning: open-mpi dependency gcc was built with a different C++ standard
library (libstdc++ from clang). This may cause problems at runtime.
  /usr/local/Cellar/open-mpi/1.8.4: 785 files, 23M, built in 41.2 minutes

$mpicc --showme 
gcc-4.9 -I/usr/local/Cellar/open-mpi/1.8.4/include -L/usr/local/opt/libevent/lib -L/usr/local/Cellar/open-mpi/1.8.4/lib -lmpi
Run Code Online (Sandbox Code Playgroud)

在我的MacBook上,我与XCode 6.2发生了一些冲突,这些冲突按照这些说明解决了

但是,我决定继续使用该clang版本以避免出现问题gfortran.