次のような単純な Fortran プログラムをコンパイルしようとしていますsandbox.for
。
program sandbox
implicit none
integer, parameter :: dp = kind(1.0d0)
real(dp), dimension(2, 2) :: a
integer :: i
a = reshape([1, 2, 1, 2], shape(a))
do i=1,2
print *, a(i, :)
end do
end program sandbox
を使用してプログラムをコンパイルしようとしましたgfortran -ffree-form -o sandbox sandbox.for
が、次のエラーが発生します。
/tmp/ccylnLGH.o: In function `MAIN__': sandbox.for:(.text+0x1b):
undefined reference to `_gfortran_set_std' collect2: ld returned 1
exit status
これは gcc の古いバージョンに関連している可能性があるという古い投稿を見つけました。CentOS 5.9 Final で gfortran/gcc 4.1.2 を実行しています。メーリング ポストでは、新しいバージョンの gcc をコンパイルしてインストールすることを提案していますが、システムのルート権限がないため、新しいソフトウェアをインストールできません。このシステム (稼働中のサーバー) では、gfortran がリポジトリからインストールされ、最新の状態に保たれていると思います。
このエラーは、使用している gcc と gfortran のバージョンに関連していますか、それとも別の問題がありますか?
より詳しい情報
の出力は次のyum list | grep libgfortran
とおりです。
libgfortran.i386 4.1.2-54.el5 installed
libgfortran.x86_64 4.1.2-54.el5 installed
libgfortran44.i386 4.4.7-1.el5 base
libgfortran44.x86_64 4.4.7-1.el5 base