M2芯片Mac使用GFortran编译SWAN报错求助
在M2芯片MacOS上编译SWAN模型遇类型不匹配错误
环境与操作步骤
- 设备:搭载M2芯片的Apple MacOS系统
- 编译对象:SWAN模型,按官方文档第3.2.2节说明操作
- 执行命令:
make config make ser - 使用编译器:GFortran,路径为
/opt/homebrew/bin/gfortran
报错信息
make FOR=gfortran FFLAGS="-O -w -fno-second-underscore " \ FFLAGS90="-O -w -fno-second-underscore -ffree-line-length-none " \ INCS="" LIBS="" OBJS="swmod1.o swmod2.o SwanSpectPart.o m_constants.o m_fileio.o serv_xnl4v5.o mod_xnl4v5.o SwanGriddata.o SwanGridobjects.o SwanCompdata.o SdsBabanin.o SwanIEM.o SwanBraggScat.o SwanQCM.o swan2coh.o swanmain.o swanpre1.o swanpre2.o swancom1.o swancom2.o swancom3.o swancom4.o swancom5.o swanout1.o swanout2.o swanser.o swanparll.o SwanReadGrid.o SwanReadADCGrid.o SwanReadTriangleGrid.o SwanReadEasymeshGrid.o SwanInitCompGrid.o SwanCheckGrid.o SwanCreateEdges.o SwanGridTopology.o SwanGridVert.o SwanGridCell.o SwanGridFace.o SwanPrintGridInfo.o SwanFindPoint.o SwanPointinMesh.o SwanBpntlist.o SwanPrepComp.o SwanVertlist.o SwanCompUnstruc.o SwanDispParm.o SwanPropvelX.o SwanSweepSel.o SwanPropvelS.o SwanTranspAc.o SwanTranspX.o SwanDiffPar.o SwanGSECorr.o SwanGradDepthorK.o SwanGradVel.o SwanInterpolatePoint.o SwanInterpolateAc.o SwanInterpolateOutput.o SwanConvAccur.o SwanConvStopc.o SwanThreadBounds.o SwanFindObstacles.o SwanCrossObstacle.o SwanComputeForce.o SwanIntgratSpc.o SwanBndStruc.o SwanReadfort18.o SwanPunCollect.o SwanSumOverNodes.o SwanMinOverNodes.o SwanMaxOverNodes.o SwanVTKWriteHeader.o SwanVTKWriteData.o SwanVTKPDataSets.o ocpids.o ocpcre.o ocpmix.o fftpack51.o" swan.exe gfortran swmod1.f -c -O -w -fno-second-underscore gfortran swmod2.f -c -O -w -fno-second-underscore gfortran SwanSpectPart.f -c -O -w -fno-second-underscore gfortran m_constants.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran m_fileio.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran serv_xnl4v5.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran mod_xnl4v5.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SwanGriddata.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SwanGridobjects.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SwanCompdata.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SdsBabanin.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SwanIEM.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SwanBraggScat.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran SwanQCM.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran swan2coh.f90 -c -O -w -fno-second-underscore -ffree-line-length-none gfortran swanmain.f -c -O -w -fno-second-underscore swanmain.f:8947:22: 7114 | CALL SWBROADC ( BSPECS, 2*MDC*MSC*NBSPEC, SWREAL ) 40.30 | 2 ...... 8947 | CALL SWBROADC(IFLIDL(IGR1),1,SWINT) 40.30 | 1 Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/REAL(4)). make[1]: *** [swanmain.o] Error 1 make: *** [ser] Error 2
疑问
该错误是GFortran版本问题导致,还是M2芯片的架构兼容性问题?
内容的提问来源于stack exchange,提问作者ThreeOrangeOneRed
相关产品推荐
相关产品推荐

