UrQMDシミュレーションパッケージをインストールするためにLinux Mint 21 Cinammonを使用しています。すべての必須依存関係を指定してROOTをインストールしました。Webページ。説明は次のとおりです。
$ tar -xvf urqmd-3.4.tar
$ make
make コマンドの後に私は得る。
if [ -e lhc ]; then patch -R -p0 < lhc.patch || true; fi
rm -f lhc
gfortran -O3 -mcmodel=medium -c make22.f -o obj_x86_64/make22.o
make22.f:548:72:
548 | 151 ba2(j)=0d0
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 151 at (1)
make22.f:3593:72:
3593 | 152 ba2(j)=p(2,j)/p(2,4)
| 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 152 at (1)
make22.f:1644:45:
1644 | call getbran((/sig1,sig2,sig3/),1,3,dummy,1,3,channel)
| 1
......
3739 | call getbran(x,minnuc,maxmes,xmax,im,ip,ir)
| 2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/REAL(8)).
make22.f:1670:39:
私はこれがgfortranのバージョンに関連していると思います。ソフトウェアがしばらく更新されていないため、バージョン6以下をお勧めします。また、gfortranとgccの以前のバージョンをインストールしてみましたが、やはり動作しませんでした。
答え1
数日前にこの問題が発生しましたが、実際にはgfortranバージョンの問題です。プログラムから抽出されたファイルには、「Linux.mk」ファイルを含むmkというフォルダがあります。ファイルの最初の行は次のようになります。
# We need to define a fortran compiler $(FC) and a linker $(LD).
FC = gfortran
LD = $(FC)
それに変える
FC = gfortran-6
LD = $(F77)
問題を解決しました。以前はgfortran-6をインストールし、gfortran-11と一緒にインストールしました。