Linux Mint에 UrQMD를 설치하면 make 명령 후 오류가 발생합니다.

Linux Mint에 UrQMD를 설치하면 make 명령 후 오류가 발생합니다.

UrQMD 시뮬레이션 패키지를 설치하기 위해 Linux Mint 21 Cinammon을 사용하고 있습니다. 모든 필수 종속성을 지정하여 ROOT를 설치했습니다.웹 페이지. 설명은 다음과 같습니다.

$ 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과 함께 설치했습니다.

관련 정보