Closed t-sakashita closed 1 year ago
Fortranコンパイラに-fallow-argument-mismatch
を渡す必要がありそう。
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0.0)
add_definitions("-fallow-argument-mismatch")
endif()
endif()
Actionsに使われているubuntu-latestのバージョンは、22.04.2であった。 対応する名前は、ubuntu/jammy64。 CMakeが出力したgfortranのバージョン:
-- The Fortran compiler identification is GNU 11.3.0
/home/vagrant/rokko/build/rokko/build/EigenExa-2.4b/src/eigen_libs.F:1914:42:
1914 | data const_pai2 /z'3ff921FB54442D18'/
| 1
Error: BOZ literal constant near (1) cannot be assigned to a REAL variable [see ‘-fno-allow-invalid-boz’]
/home/vagrant/rokko/build/rokko/build/EigenExa-2.4b/src/eigen_libs.F:1887:42:
1887 | data const_2pai /z'401921FB54442D18'/
| 1
Error: BOZ literal constant near (1) cannot be assigned to a REAL variable [see ‘-fno-allow-invalid-boz’]
/home/vagrant/rokko/build/rokko/build/EigenExa-2.4b/src/eigen_libs.F:1860:41:
1860 | data const_pai /z'400921FB54442D18'/
| 1
Error: BOZ literal constant near (1) cannot be assigned to a REAL variable [see ‘-fno-allow-invalid-boz’]
/home/vagrant/rokko/build/rokko/build/EigenExa-2.4b/src/eigen_libs.F:1833:35:
1833 | data eps /z'3CB0000000000000'/
| 1
Error: BOZ literal constant near (1) cannot be assigned to a REAL variable [see ‘-fno-allow-invalid-boz’]
コンパイルオプション-fno-allow-invalid-boz
が必要
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0.0)
add_definitions("-fallow-argument-mismatch -fallow-invalid-boz")
endif()
endif()
上記では、ソースファイルmiscC.cに対しても、-fallow-argument-mismatch -fallow-invalid-boz
がセットされてしまい、エラーとなる。
Fortranコンパイラのみにオプションをセットする方法
https://stackoverflow.com/questions/25534932/cmake-fortran-compiler-dependent-flags
とりあえず、CMAKE_Fortran_FLAGS
に追加する方針をとる。
523610255dd5e049947b8a7dcffd6f04cc29745e
パッケージのダウンロードで失敗した。 https://github.com/t-sakashita/rokko/actions/runs/5000228305/jobs/8958059200
なぜでしょうか? @wistaria
↑何度かRe-runすると、パッケージのダウンロードができるようになりました。 たまたま、azureのネットワークの調子が悪かっただけなのだと思います。
eigenexaのインストールに関するActionsは、成功した。
https://github.com/t-sakashita/rokko/actions/runs/4988423978/jobs/8931136856