Openfast: Cygwin64を搭載したWindows10で「C++コンパイラ「/usr/bin/c++.exe」は簡単なテストプログラムをコンパイルできません」

作成日 2018年04月09日  ·  8コメント  ·  ソース: OpenFAST/openfast

ドキュメントに従ってOpenFASTをコンパイルしようとしました。 すべての手順を1つずつ実行しましたが、実際のコンパイルを実行しようとすると、CMakeは次のように失敗します。

$ FC=gfortran cmake ../
-- The CXX compiler identification is GNU 6.4.0
-- The C compiler identification is GNU 6.4.0
-- The Fortran compiler identification is GNU 6.4.0
-- Check for working CXX compiler: /usr/bin/c++.exe
-- Check for working CXX compiler: /usr/bin/c++.exe -- broken
CMake Error at /usr/share/cmake-3.6.2/Modules/CMakeTestCXXCompiler.cmake:54 (message):
  The C++ compiler "/usr/bin/c++.exe" is not able to compile a simple test
  program.

  It fails with the following output:

   Change Dir: /home/FejPau/code/OpenFAST/build/CMakeFiles/CMakeTmp



  Run Build
  Command:"/cygdrive/c/opal-rt/rt-lab/v11.2.1.100/common/bin/gmake.exe"
  "cmTC_af8f7/fast"

  C:\opal-rt\rt-lab\v11.2.1.100\common\bin\gmake.exe -f
  CMakeFiles/cmTC_af8f7.dir/build.make CMakeFiles/cmTC_af8f7.dir/build

  gmake.exe: command not found: /bin/sh

  gmake.exe: *** [cmTC_af8f7/fast] Error 0x7f





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:18 (project)


-- Configuring incomplete, errors occurred!
See also "/home/FejPau/code/OpenFAST/build/CMakeFiles/CMakeOutput.log".
See also "/home/FejPau/code/OpenFAST/build/CMakeFiles/CMakeError.log".

CMakeOutput.logとCMakeError.logを添付しました。

奇妙なことに、CMakeError.logを見ると、 C:\opal-rt\rt-lab\v11.2.1.100\common\bin\gmake.exeからgmake.exeが呼び出されます。 このフォルダをPATH環境変数から削除しようとしましたが、それでもそこからgmake.exeを実行しようとします。

別のプロジェクトでrt-labが必要なため、アンインストールできません。

他に何を試すことができますか?

CMakeError.log
CMakeOutput.log

MinGCygWin Build issue

最も参考になるコメント

GNU gccおよびg++コンパイラがインストールされていますか? もしそうなら、あなたはCMakeにgfortranを使うように頼んだのと同じようなものを使うように微調整することができます

CC=gcc CXX=g++ FC=gfortran cmake ../

全てのコメント8件

GNU gccおよびg++コンパイラがインストールされていますか? もしそうなら、あなたはCMakeにgfortranを使うように頼んだのと同じようなものを使うように微調整することができます

CC=gcc CXX=g++ FC=gfortran cmake ../

これを試しましたが、同じエラーが発生します。

編集:プロキシ設定のためにCygwinのインストール中に、 http://www.gtlib.gatech.eduと直接接続を選択せず​​に、別のミラーからインストールしたことを付け加えるかもしれません。 しかし、私はこれが何の違いももたらさないはずだと思います...

@pfeja CMakeCache.txtを調べることで、CMakeが使用しているコンパイラを確認できます。 例えば、

mbp@~/Development/openfast/build: grep -ni "cxx_compiler" CMakeCache.txt 
87:CMAKE_CXX_COMPILER:FILEPATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
603://ADVANCED property for variable: CMAKE_CXX_COMPILER
604:CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1

期待するc++コンパイラを実際に使用していることを確認できますか?

CMakeがgccを取得しなかった場合は、 CMakeCache.txtを削除して、CMakeを再度実行してみてください。

また、参考までに、 cmake_c_compilercmake_fortran_compilerを検索すると、他のコンパイラも表示されます。

opal-rtディレクトリの名前を一時的に変更し、 CMakeCache.txtファイルを削除し、推奨設定でcmakeを実行した後、さらに-DCMAKE\_INSTALL\_PREFIX:PATH=$HOME/softwareを使用すると、コンパイルして実行されます。 Cygwinシェル。

しかし、コントロールパネルのPATHC:\cygwin64\lib\lapackC:\cygwin64\home\FejPau\software\binを追加し、コマンドプロンプトからopenfast -hを実行しようとすると、すべてが見つからないと文句を言います。 cygwin1.dllのようなCygwinDLLファイル

2018-04-12 11_21_42-eingabeaufforderung - openfast -h

編集: PATHC:\cygwin64\binも追加しましたが、何も変更されませんでした。

私は今何が欠けていますか?

コマンドプロンプトからopenfastを実行するための回避策を作成しました。 .shスクリプトを作成しました
#!/bin/bash
openfast $@
および対応する.batファイル
bash run_openfast.sh myfile.fst
これは役に立ちますが、問題自体は解決しません。 これについて何かアイデアはありますか?

@pfeja WindowsコマンドプロンプトからCygWinでコンパイルしたOpenFAST実行可能ファイルを実行しようとしていることを正しく理解していますか?

その場合、CygWinターミナル内でCygWinによってコンパイルされたものを実行する必要があります。 これはCygWinのWebサイトからのものです:

Cygwin is not:

a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.
a way to magically make native Windows apps aware of UNIX® functionality like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.

最後の問題は、cmdがcygwindllを見つけられないパス構成の問題のように見えます。

この問題は解決されたと思いますので、閉じますが、 @ pfejaは、必要に応じて、もう一度開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価