MacBookでのmake、cmakeについて
hmiyahara512 opened this issue · comments
担当者様
MacBook(macOS Montery Version 12.4)でのmake、cmakeでエラーが出てしまうのですが、MacBookはサポート外でしょうか?
また、昨日不適切なissueを出してしまい、申し訳ありません。
宮原
macOS に入っている gcc
は GCC ではなく Apple clang で、OpenMP のサポートが(デフォルトでは)ないので omp.h
が見つからなくて落ちているのかと推測します。
(他の理由の場合には、実際に行ったことと現れたエラーメッセージを書いてください)
いくつか方法はありますが、
- Apple clang ではないコンパイラを入れて
cmake
コマンドでコンパイラを指定する- たとえば Homebrew で
brew install gcc
をした後に cmake -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_Fortran_COMPILER=gfortran-11
- たとえば Homebrew で
- (たとえばHomebrew で)
libomp
をいれて Apple clang からOpenMP を使えるようにする- コンパイルオプションの明示的な設定などが必要になりますが、
cmake
に-DCONFIG=apple
を渡せば大丈夫です
- コンパイルオプションの明示的な設定などが必要になりますが、
のどちらかを試してみてください(私個人は1 を主にやっています)。
(現在のマニュアルがこのあたりあまりしっかりしていないようなので直しておきます)
ご対応、ありがとうございます。
上記1を実行し、以下のエラーを得ました。
ーーーーーーーーーーーーーーーーーーーーーーーー
CMake Error at /usr/local/Cellar/cmake/3.22.3/share/cmake/Modules/CMakeTestCCompiler.cmake:69 (message):
The C compiler
"/usr/local/bin/gcc-11"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /Users/hideyuki/Codes/c_001/mVMC_001/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make -f Makefile cmTC_893fe/fast && /Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/cmTC_893fe.dir/build.make CMakeFiles/cmTC_893fe.dir/build
Building C object CMakeFiles/cmTC_893fe.dir/testCCompiler.c.o
/usr/local/bin/gcc-11 -o CMakeFiles/cmTC_893fe.dir/testCCompiler.c.o -c /Users/hideyuki/Codes/c_001/mVMC_001/CMakeFiles/CMakeTmp/testCCompiler.c
clang: error: invalid version number in '-mmacosx-version-min=12.4'
make[1]: *** [CMakeFiles/cmTC_893fe.dir/testCCompiler.c.o] Error 1
make: *** [cmTC_893fe/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:20 (enable_language)
ーーーーーーーーーーーーーーーーーーーーーーーー
エラーの内容を理解していないのですが、コメントいただけると幸いです。
よろしくお願いします。
そもそも /usr/bin/gcc
や /usr/local/bin/gcc-11
でなにか適当なプログラム (例えば void main(){}
など)はコンパイルできますか?
そのエラーを吐く環境が手元にないのでちゃんとはわかりませんが、とりあえずありそうなこととして、 macOS のcommand line tool が古そうな気がします(最近macOS のバージョンを上げましたか?)。
システム環境設定のソフトウェアアップデートに、コマンドラインツールの更新が来ていないでしょうか?
(あるいは以下のコマンドで再インストールできるといろいろなところで書いてありますが、自分は試したことはないと添えておきます)
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
再度コメント、ありがとうございました。
gcc-11がうまく設定されておらず、ご指摘の通りxcode-selectをインストールし直したところ、cmakeがうまくできました。
ちなみにTeNeSもcmakeできました。
お手数をおかけし、申し訳ありません。ありがとうございました。