
gfortranによる並列計算の確認をしようとしてエラーが出てしまいます。
解説サイトの指示に従っただけなので自前で準備したのはコンパイラのインストールぐらいでそれもデフォルト通りです。
gfortranは標準でopenmpが付いてくるとのことで、以下のように実行しました。エラーの原因は何なのでしょうか。
OSはWindows10です。
実行:
gfortran -fopenmp hello.f90 -o hello.exe
実行結果:エラーメッセージ
f951.exe: Fatal Error: Reading module 'omp_lib' at line 1 column 51: Unexpected EOF
compilation terminated.
ソースプログラムhello.f90の内容は以下の通り:ダウンロード
program helloOpenMP
!$ use omp_lib
implicit none
print *, 'START'
!$omp parallel
print *, 'Hello! N =', omp_get_num_threads(), ' and I am ', omp_get_thread_num()
!$omp end parallel
print *, 'END'
end
gfortranのバージョン:
GNU Fortran (Rev1, Built by MSYS2 project) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
よろしくお願いします。gfortranのバージョンによって動作が違うとしか考えにくいのですが。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1 のコメントへの返事です。
回答の付け足し方が分からないので、新規で失礼します。私も scoop を試して openmp どころか gofrtran そのものがうまくいかなかった口です。一度 uninstall して、下を参考に pacman で入れたらうまく行きました。
$ pacman -R mingw-w64-x86_64-gcc-fortran
https://www.scivision.dev/install-msys2-windows/
https://packages.msys2.org/package/mingw-w64-x86 …
Windows 環境に unix like な環境を入れるのは昔から難しくて、Cygwin MinGW MSYS みんな様々に苦労しているのでまぁしょうがないと思います。
私は最近 WSL メインにしています。
回答有難うございます。プログラム開発は自分の構想とコーディングの間でのトラブルのフィックスという作業ですが、その大前提である開発環境のセットアップでアレコレと足並みがそろわない問題があるわけですね。データ解析(プログラミング)のRではライブラリの更新とか本体バージョンなどでいろいろ齟齬が生じて動作しないという問題がありましたが、EZRというパッケージがその問題を解決してくれるようです。その代わり古いものはいったんアンインストールを求められるようですが。Linuxもパッチを当てたりして大変でしたが、今は管理されてだいぶこの問題は緩和されたようです。そういうことを思い出しました。余談でした。
No.1
- 回答日時:
MSYS2 gfortran 10.2.0 では問題なく実行できました。
この手のエラーはライブラリとコンパイラのべージョンが違っていると出るとか gfortran がらみのスレに書いてありました。それが本当ならインストールの問題かもしれません。
回答ありがとうございます。Windowsでgfortranをインストールする方法っていろいろあると思います。MSYS2,MINGW, Cygwin,WSL上でのインストールとかです。まだあるかもしれません。私の記憶では何をインストールするかチェックマークをいれたりして取捨選択できたりしたと思います。
今回はPowershellでscoop install gcc としました。updateなどもscoopコマンドでできるようです。まるでubuntuのsudo apt get install gfortran みたいなあんばいです。それが機能をフルにカバーしていないのかとかっがりですが。その情報ソースはqiitaです。コンピュータ技術者の集団なのだから、最も信頼できるのかと思ったのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby プログラミング 3 2023/06/09 14:30
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- 電気工事士 【OMP通信線】OMP通信線とは何ですか? 1 2023/05/04 21:13
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
End Sub が必要です。
-
Excel VABについて 下記記述が...
-
フォートランのエラーについて...
-
ユニティ(unity)です。プログ...
-
#ifndefとかヘッダファイルにつ...
-
select関数の使用方法について
-
Mac OSX上でFortranを使いたい
-
DLL内からの外部変数の参照
-
typedef による2重定義
-
フォートラン(fortran)のエラー...
-
配列数式の解除
-
教えて下さい
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
エクセルで特定の列が0表示の場...
-
エクセルに張り付けた写真のフ...
-
【VBA】ワークブックを開く時に...
-
メッセージボックスのOKボタ...
-
UserForm1.Showでエラーになり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
End Sub が必要です。
-
Excel VABについて 下記記述が...
-
フォートランのエラーについて...
-
43:syntax error at end of input
-
他クラスからForm1内コントロル...
-
intel fortranのエラーで困って...
-
ラズパイ上の、pythonのエラー...
-
C# IEnumerable が IEnumerable...
-
VBでエラー'ActiveX component ...
-
AccessVBAでVLookupを使いたい
-
フォートラン(fortran)のエラー...
-
DLL内からの外部変数の参照
-
Excel VBA: UserForm.Show で実...
-
値を返さないといけないのに、...
-
解説サイトに従ったfortran並列...
-
対応する関数ヘッダーがありません
-
【ルネサスのマイコン】E8aから...
-
C2065: 'EnumDisplayDevices' :...
-
typedef による2重定義
-
HEW3とBorlandC++でクラス定義...
おすすめ情報