質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

Q&A

1回答

2630閲覧

コンパイルエラーの理由(Fortran)

kazu05

総合スコア0

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

0グッド

0クリップ

投稿2020/11/11 07:57

前提・実現したいこと

Fortranを使用して数値計算のプログラムを作っています。
コンパイルエラーの理由を理解して,動作するように変更したいです。
プログラムは昔から引き継いでいるためFortran77の書式のものも含まれています。

発生している問題・エラーメッセージ

Includeファイルを使用して配列の大きさを変更しているのですが,配列の大きさを一定以上にするとコンパイルの際にエラーが生じてしまいます。
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-min
gw32/lib/../lib/crt2.o: in function __tmainCRTStartup': C:/crossdev/src/mingw-w64-v7-git20191109/mingw-w64-crt/crt/crtexe.c:259:(.text+0 x1cd): relocation truncated to fit: R_X86_64_PC32 against symbol __imp_Sleep' d
efined in .idata$5 section in C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.
2.0/../../../../x86_64-w64-mingw32/lib/../lib/libkernel32.a(dqqts01409.o)
C:/crossdev/src/mingw-w64-v7-git20191109/mingw-w64-crt/crt/crtexe.c:286:(.text+0
x25a): relocation truncated to fit: R_X86_64_PC32 against symbol `__imp_SetUnhan
dledExceptionFilter' defined in .idata$5 section in C:/TDM-GCC-64/bin/../lib/gcc
/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libkernel32.
a(dqqts01393.o)

C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o:ms-EFIE.f:(.text+0x209): relocation
truncated to fit: R_X86_64_PC32 against symbol nnmm_' defined in COMMON section in C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o:ms-EFIE.f:(.text+0x25d): relocation truncated to fit: R_X86_64_PC32 against symbol nnmm_' defined in COMMON section
in C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o
C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o:ms-EFIE.f:(.text+0x332): relocation
truncated to fit: R_X86_64_PC32 against symbol nnmm_' defined in COMMON section in C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o:ms-EFIE.f:(.text+0x3d5): relocation truncated to fit: R_X86_64_PC32 against symbol nnmm_' defined in COMMON section
in C:\Users\64GB\AppData\Local\Temp\cc9PpBoM.o

該当のソースコード

Fortran

試したこと

コンパイル(PGI,MinGW)や実行メモリが128Gのもので試したため,PCの容量不足ではないと考えています。
変化させた配列により影響が出る配列には目を通して確認しましたが矛盾しているとこは確認できませんでした。

補足情報(FW/ツールのバージョンなど)

windows10
コンパイラ PGI,MInGW

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

PCにメモリをどれだけ積んでいるかが関係するのは実行時の話です。

エラーメッセージでググると、2GBの壁があるみたいですね。
COMMONのサイズみたいですね。

投稿2020/11/11 08:10

otn

総合スコア84788

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazu05

2020/11/12 12:25

ありがとうございます。 自分で調べてみましたが、改善策がわからないので、ご存知でしたら教えていただきたいです。
otn

2020/11/12 12:37

ググって出てきたコンパイルオプションを試したが、同じ結果だったということでしょうか?
kazu05

2020/11/19 10:47

ググって,-mcmodel=medium -fpic -dynamicをつけてコンパイルしましたが,新しいファイルが生成され,コンパイルできないという状態です。
otn

2020/11/19 10:52

エラーメッセージは出ましたか?
kazu05

2020/11/19 10:58

エラーメッセージも以前と同様なものが出て,exeファイルは生成されませんでした。
otn

2020/11/19 11:05

ググって出てきたのは、-mcmodel=large ですが、これは?
kazu05

2020/11/19 11:12

-mcmodel=largeも試しましたが,同様のコンパイルエラーが出るだけでした。
otn

2020/11/19 11:13

では、根本的にサイズを減らさないと無理なんでしょう。
kazu05

2020/11/19 11:16

やっぱりそうするしかないようですね... ご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問