2012-10-30 17 views
5

https://github.com/mxcl/homebrew/pull/2953)この記事によると、フラグ「--with-mpiは」関連の自作式のためboost_mpiビルドのサポートを有効にする必要がありますので、私はこのような自作経由でブーストをインストールしようとしています:自宅でmpiサポートを使ってブーストを構築するにはどうすればいいですか?

brew install boost --with-mpi 

しかし、実際のブーストがmpiライブラリが構築されておらず、見つけられません。 現在のところ、いくつかの作業はによると、この周りに行われている:https://github.com/mxcl/homebrew/pull/15689

要約すると、私は現在、ブーストを構築することができますが、「--with-mpi」フラグは無視されているようです。 Mac OS X Mountain Lion(10.8)でブースト(mpiサポート付き)を構築できるはずですか?

(冗長)出力は、これらの行を生成します。

MPI auto-detection failed: unknown wrapper compiler mpic++ 
Please report this error to the Boost mailing list: http://www.boost.org 
You will need to manually configure MPI support. 

warning: skipping optional Message Passing Interface (MPI) library. 
note: to enable MPI support, add "using mpi ;" to user-config.jam. 
note: to suppress this message, pass "--without-mpi" to bjam. 
note: otherwise, you can safely ignore this message. 

私はこの問題を解決し、MPIのものをビルドする得ることができる方法を正確にわからない - 任意のアイデア?

+0

ここにビルド初期化の出力があります:https://gist.github.com/3981327 – Chris

+0

Open MPIがプリインストールされて出荷されていた古いOS Xバージョン。私はOMPIがLionから落とされたと思うので、手動でインストールする必要があります。 OMPIインストールからの 'bin'ディレクトリは' PATH'になければなりません。 'mpicc'、' mpiC++ 'などのラッパーが置かれています。 –

+0

ありがとうございます - はい私はopen-mpiをインストールしましたが、mpich2でも試してみました(ただし同じ問題です)。パスは/ usr/local/binを指しています。これは、homebrewをインストールするときにmpiC++、mpicc、mpirunなどが見つかる場所です。 – Chris

答えて

4

これがライン上の誰かを助ける場合には、ここで私はこれを修正しました。主なエラーはMPI auto-detection failed: unknown wrapper compiler mpic++です。コマンドラインで入力されたmpiC++は、それが正しく動作していないことを確認しています。私はbrewを使用してopen-mpiをインストールしましたが、同じエラーがブーストインストールの冗長出力に表示されていました。 brew doctorの実行がOpenMPIのが適切にリンクされていなかったことが示されたので、私はこれらのエラーを修正し、brew -v install boost --with-mpi --without-singleをreranし、それが最終的に構築されており、この出くわす誰にも問題

3

せずにすべてのライブラリをインストールし、パッケージがboost-pythonに移行し、 boost-mpiboostとは別です。使用するbrew install boost-mpi

+0

これは参考になる情報ですが、「構築する方法」に関する質問に必ずしも答えるものではないので、これは質問に対するコメントでなければならないと思います。 – Zizouz212

0

ちょうどそれがOSX 10.11.5で働くことを得なさい。私は醸造を試みたが運がない。

すでにgccがインストールされているとします。

1.検索と無効(ただし、削除しないでください)なかれ頭痛を引き起こす

打ち鳴らすの打ち鳴らす:ここで私がやったものです。 Boostを構築するときには、多くの警告があります。 sudo mv clang clang_mac_removeを、また++打ち鳴らすために:sudo mv clang++ clang++_mac_removeをそれの名前を変更し、あなたに/usr/bin/clang

を与える必要があります

which clang、。あなたが将来必要であれば名前を戻すことができます。

2.すでにBREWを使用してインストールした場合OpenMPIの

をインストールするには、最初にアンインストールします。基本的にコンパイララッパーとしてclangを使用していたはずです。ラッパーをgccに変更する必要があります。

パッケージをダウンロードします。

gccg++にラッパーコンパイラを指定します。

以下
./configure CC=gcc CXX=g++ F77=ifort FC=ifort --prefix=/usr/local 

は長い時間がかかることがあります。

make all 

sudo make install 

参考:https://wiki.helsinki.fi/display/HUGG/Open+MPI+install+on+Mac+OS+X

3.ブーストをインストールMPI

パッケージをダウンロードしてください。

実行してください(最初に開き、toolsetgccを指定します。そうでない場合、デフォルトオプションはdarwinです)。

project-config.jamusing mpi ;を追加してください。その後、./b2 —with-mpiはmpiライブラリのみを構築します。

次に、構築されたすべてのライブラリは、~/Downloads/boost_1_61_0/stage/libというフォルダにあります。

/usr/local/libまたはその他の一般的なライブラリパスにコピーまたは移動してください。

リファレンス:ブーストMPI

LIBRARY DIRとhttp://www.boost.org/doc/libs/1_61_0/doc/html/mpi/getting_started.html

4.コンパイル= -L/usr/local/lib

は例えば= -I/usr/local/include/

LINKER = -lboost_mpi -lboost_serialization

をINCLUDE

mpic++ -std=c++11 -I/usr/local/include/ -c boost_test.cpp -L/usr/local/lib -lboost_mpi -lboost_serialization 

幸運!

関連する問題