t**********g 发帖数: 85 | 1 I am trying to compile a parallel fortran package in a beowulf cluster,
my compiler is Portland Fortran90. I got a very strange problem, following is
error message, does anybody know what's the problem?
make
pgf90 -O -lfmpich -lmpich skgen.f -c
pgf90 -O -lfmpich -lmpich zxssq.f -c
pgf90 -O -lfmpich -lmpich ludec.f -c
pgf90 -O -lfmpich -lmpich luelm.f -c
pgf90 -O -lfmpich -lmpich uertt.f -c
pgf90 -O -lfmpich -lmpich func.f -c
pgf90 -O -lfmpich | t****n 发帖数: 39 | 2 You didn't link the mpi library when make your executable file.
You need add -lfmpich -lmpich options in your makefile
【在 t**********g 的大作中提到】 : I am trying to compile a parallel fortran package in a beowulf cluster, : my compiler is Portland Fortran90. I got a very strange problem, following is : error message, does anybody know what's the problem? : : make : pgf90 -O -lfmpich -lmpich skgen.f -c : pgf90 -O -lfmpich -lmpich zxssq.f -c : pgf90 -O -lfmpich -lmpich ludec.f -c : pgf90 -O -lfmpich -lmpich luelm.f -c : pgf90 -O -lfmpich -lmpich uertt.f -c
| t**********g 发帖数: 85 | 3 Thank you for your reply. However, I think I linked mpi library. See the
message from making executable file
pgf90 -O -lfmpich -lmpich skgen.f -c
pgf90 -O -lfmpich -lmpich zxssq.f -c
pgf90 -O -lfmpich -lmpich ludec.f -c
Is this the correct way to link?
The makefile which is related:
SHELL=/bin/csh
#
CFT= pgf90
LDR= pgf90
# On IBM set all constants to double precision (Alpha does this automatically)
FFLAGS = -O -lfmpich -lmpich
# FFLAGS = -O -L/usr/pgi/linux86/lib/libpgf90.a
# FFL
【在 t****n 的大作中提到】 : You didn't link the mpi library when make your executable file. : You need add -lfmpich -lmpich options in your makefile
| t****n 发帖数: 39 | 4 When you generate those .o file, such as
skgen.o, zxssq.o and ludec.o, it's not necessary to link those mpi libraries.
But you do need it when you link all these .o files into your executable
files. So this line matters:
pgf90 -o skfit2 skgen.o zxssq.o ludec.o luelm.o uertt.o func.o diag.o myhtdi.o
myred.o mytql2.o fermi4sk.o hsort.o tnewef.o matri.o setup.o rotate.o
quadroot.o symmeg.o input.o input1.o mapk.o multatoms.o search2.o shifttrue.o
mpifake.o
Change the line following skfit2 to
skfit2
【在 t**********g 的大作中提到】 : Thank you for your reply. However, I think I linked mpi library. See the : message from making executable file : pgf90 -O -lfmpich -lmpich skgen.f -c : pgf90 -O -lfmpich -lmpich zxssq.f -c : pgf90 -O -lfmpich -lmpich ludec.f -c : Is this the correct way to link? : The makefile which is related: : SHELL=/bin/csh : # : CFT= pgf90
|
|