hi All, I need your help.
I have this big program that I am working on (fortran 90 and cuda fortran) that I need to compile on Linux. It consists of 18 files. I am able to compile them on windows and VS 2010, but not Linux pgfortran compiler.
When I build, I get huge output that I don’t understand, plus there is no a.out file (executable).
here is the compiling switches:
pgfortran -Mpreprocess -D_DEBUG -O3 -Mcuda=4.1,cc20 -Mextend -Mfree
-Minform=severe common.f90 flow.f90 force.f90 geometry.f90 grid.f90 Humidity.f90 init.f90 inverse.f90 kernels.f90 misc.f90 mult.f90 OptionalParams.f90 output.f90 Quick5.f90 reynolds.f90 string.f90
here is what the output look like:
force.o: In function shearkang_': /home/tmardan/quick5/./force.f90:756: undefined reference to
finteg1_’
/home/tmardan/quick5/./force.f90:776: undefined reference to finteg1_' /home/tmardan/quick5/./force.f90:805: undefined reference to
finteg1_’
/home/tmardan/quick5/./force.f90:806: undefined reference to finteg1_' /home/tmardan/quick5/./force.f90:807: undefined reference to
finteg1_’
force.o:/home/tmardan/quick5/./force.f90:808: more undefined references to fint eg1_' follow force.o: In function
getrcf_‘:
/home/tmardan/quick5/./force.f90:1024: undefined reference to finteg_' /home/tmardan/quick5/./force.f90:1085: undefined reference to
fit1_’
/home/tmardan/quick5/./force.f90:1085: undefined reference to qromb_' /home/tmardan/quick5/./force.f90:1085: undefined reference to
fitb1_’
/home/tmardan/quick5/./force.f90:1085: undefined reference to qromb_' /home/tmardan/quick5/./force.f90:1085: undefined reference to
fit32_’
/home/tmardan/quick5/./force.f90:1085: undefined reference to qromb_' geometry.o: In function
pointrecess_‘:
/home/tmardan/quick5/./geometry.f90:213: undefined reference to udgheight_' grid.o: In function
adaptnonnested_’:
/home/tmardan/quick5/./grid.f90:508: undefined reference to interp1_' /home/tmardan/quick5/./grid.f90:508: undefined reference to
interp1_’
/home/tmardan/quick5/./grid.f90:508: undefined reference to interp_' grid.o: In function
getcontrol_‘:
/home/tmardan/quick5/./grid.f90:1010: undefined reference to sort_' /home/tmardan/quick5/./grid.f90:1011: undefined reference to
sort_’
init.o: In function readrun_': /home/tmardan/quick5/./init.f90:297: undefined reference to
sort2_’
/home/tmardan/quick5/./init.f90:299: undefined reference to abs_val_sort_' /home/tmardan/quick5/./init.f90:307: undefined reference to
sort_’
/home/tmardan/quick5/./init.f90:318: undefined reference to sort_' init.o: In function
loadinitialpressure_‘:
/home/tmardan/quick5/./init.f90:667: undefined reference to matinit_' /home/tmardan/quick5/./init.f90:667: undefined reference to
matinit_’
/home/tmardan/quick5/./init.f90:667: undefined reference to matinit_' /home/tmardan/quick5/./init.f90:667: undefined reference to
matinit_’
/home/tmardan/quick5/./init.f90:667: undefined reference to matinit_' init.o: In function
readrail_‘:
/home/tmardan/quick5/./init.f90:724: undefined reference to readudg_' init.o: In function
normalize_’:
/home/tmardan/quick5/./init.f90:1031: undefined reference to matrix33_inverse_' /home/tmardan/quick5/./init.f90:1031: undefined reference to
matrix_multi_’
inverse.o: In function calc_deriv_': /home/tmardan/quick5/./inverse.f90:287: undefined reference to
equate_’
/home/tmardan/quick5/./inverse.f90:316: undefined reference to equate_' /home/tmardan/quick5/./inverse.f90:342: undefined reference to
equate_’
/home/tmardan/quick5/./inverse.f90:367: undefined reference to equate_' inverse.o: In function
getinc_‘:
/home/tmardan/quick5/./inverse.f90:473: undefined reference to equate_' /home/tmardan/quick5/./inverse.f90:473: undefined reference to
matrix33_inverse
’
misc.o: In function stiffness_': /home/tmardan/quick5/./misc.f90:899: undefined reference to
matinit’
Quick5.o: In function quick5': /home/tmardan/quick5/./Quick5.f90:124: undefined reference to
endtime_’
Quick5.o: In function dorailgeomrun_': /home/tmardan/quick5/./Quick5.f90:305: undefined reference to
endtime_’
Quick5.o: In function dogapextrapolationrun_': /home/tmardan/quick5/./Quick5.f90:360: undefined reference to
endtime_’
reynolds.o: In function reyneq_': /home/tmardan/quick5/./reynolds.f90:182: undefined reference to
tridag_’
/home/tmardan/quick5/./reynolds.f90:211: undefined reference to tridag_' reynolds.o: In function
reyneq1_‘:
/home/tmardan/quick5/./reynolds.f90:490: undefined reference to tridag_' /home/tmardan/quick5/./reynolds.f90:519: undefined reference to
tridag_’
reynolds.o: In function reyneq2_': /home/tmardan/quick5/./reynolds.f90:799: undefined reference to
tridag_’
reynolds.o:/home/tmardan/quick5/./reynolds.f90:828: more undefined references to
`tridag_’ follow
there are no errors, warnings or anything.
Please advice!
Dolf