@Daifu

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

xlf と f90のコンパイル方法

解決したいこと

現在、私は学校で研究を行っています。
そこで研究の参考となる資料に付属されていた2つのプログラムを実装しようと考えました。
そのプログラムにはコンパイラ記載箇所にxlfと書かれているものとf90とかかれているMakefileが入っていました。
しかし、いすれのコンパイラもみたことがなく、どのようにコンパイルし実行すればよいのかが分かりません。
そこで強硬手段として、いずれのコンパイル記載箇所に対して、私のパソコンに入っているgfortranに書き換えてみましたが実行できませんでした。

発生している問題・エラー

gfortran  -p -g  -o piprot pipco.o pipge.o piphn.o piptn.o pipphnc.o pipio.o pipintur.o pipindip.o piptr.o piptu.o pipma.o pipti.o ../../NCARFFT/ffts.o
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipco.o: in function `meshes_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipco.f:10: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipco.o: in function `cordin_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipco.f:34: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipco.o: in function `cordino_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipco.f:142: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipge.o: in function `divgu_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipge.f:14: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipge.o: in function `divuck_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipge.f:40: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipge.o:C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipge.f:88: more undefined references to `__fentry__' follow
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipma.o: in function `main':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipma.f:176: undefined reference to `_monstartup'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: pipti.o: in function `invinv_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/pipti.f:11: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../NCARFFT/ffts.o: in function `fftrig_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/../../NCARFFT/ffts.f:1249: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../NCARFFT/ffts.o: in function `fax_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/../../NCARFFT/ffts.f:1189: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../NCARFFT/ffts.o: in function `fft99b_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/../../NCARFFT/ffts.f:948: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../NCARFFT/ffts.o: in function `vpassm_':
C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/../../NCARFFT/ffts.f:1290: undefined reference to `__fentry__'
C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: ../../NCARFFT/ffts.o:C:\Users\sfe8\Desktop\diskette\CODESCH10\PIP/../../NCARFFT/ffts.f:874: more undefined references to `__fentry__' follow
collect2.exe: error: ld returned 1 exit status
make: *** [piprot] エラー 1

該当するソースコード

一例としてf90コンパイラが書かれていたmakefileを添付します。
SWI= -c -p -g -O5 
piprot:  pipco.o pipge.o piphn.o piptn.o pipphnc.o pipio.o pipintur.o pipindip.o piptr.o piptu.o pipma.o pipti.o ../../NCARFFT/ffts.o
    f90  -p -g  -o piprot pipco.o pipge.o piphn.o piptn.o pipphnc.o pipio.o pipintur.o pipindip.o piptr.o piptu.o pipma.o pipti.o ../../NCARFFT/ffts.o
pipco.o: pipco.f param.f   
    f90 $(SWI)  pipco.f
piphn.o: piphn.f param.f   
    f90 $(SWI)  piphn.f
pipti.o: pipti.f param.f
    f90 $(SWI)  pipti.f
piptn.o: piptn.f param.f
    f90 $(SWI)  piptn.f
pipphnc.o: pipphnc.f param.f
    f90 $(SWI)  pipphnc.f
pipio.o: pipio.f param.f
    f90 $(SWI)  pipio.f
pipintur.o: pipintur.f param.f
    f90 $(SWI)  pipintur.f
pipindip.o: pipindip.f param.f
    f90 $(SWI)  pipindip.f
piptr.o: piptr.f param.f
    f90 $(SWI)  piptr.f
piptu.o: piptu.f param.f
    f90 $(SWI)  piptu.f
pipma.o: pipma.f param.f
    f90 $(SWI)  pipma.f
pipge.o: pipge.f param.f
    f90 $(SWI)  pipge.f
../../NCARFFT/ffts.o: ../../NCARFFT/ffts.f 
    f90 $(SWI)  ../../NCARFFT7ffts.f

自分で試したこと

先ほども述べましたが、今回のエラーの発生は強硬手段であると考えています。
しかし、xlf、f90ともにどのように入手すればよいのかがわかりません。

参考とした資料には
"The make files permit to compile the codes, in IBM or Digital computers."
と書かれていましたが、IBMのハードウェアは所持していません。
またxl fortran のサイトでインストールを試みましたが、前提ハードウェアである"IBM POWER8" を所持していないため、インするトールができませんでした。
よろしくお願いいたします。

0 likes

No Answers yet.

Your answer might help someone💌