我试图编译其他人的Fortran代码并获得奇怪的编译错误。特别是,我得到这样的错误:
pgf77 -c -pc 64 -g77libs hpair.f
/tmp/dstolars/pgf77kdVzoC: Assembler messages:
/tmp/dstolars/pgf77kdVzoC:12: Error: suffix or operands invalid for `push'
/tmp/dstolars/pgf77kdVzoC:7559: Error: suffix or operands invalid for `push'
/tmp/dstolars/pgf77kdVzoC:7818: Error: suffix or operands invalid for `push'
/tmp/dstolars/pgf77kdVzoC
中没有任何文件。
这是我的makefile
OBJS = hpair.o Cteq61Pdf.o mrst2001.o
LIBS = $(CERN)/libpdflib804.a $(CERN)/libpawlib.a $(CERN)/libgrafX11.a $(CERN)/libpacklib.a $(CERN)/libmathlib.a $(CERN)/libkernlib.a
FFLAGS= -pc 64 -g77libs
FC=pgf77
# Commands:
.f.o:
$(FC) -c $(FFLAGS) $*.f
hpair: $(OBJS)
$(FC) $(FFLAGS) $(OBJS) $(LIBS) -o run
clean:
rm -f $(OBJS)
当我make --just-print
时,我得到了
pgf77 -c -pc 64 -g77libs hpair.f
pgf77 -c -pc 64 -g77libs Cteq61Pdf.f
pgf77 -c -pc 64 -g77libs mrst2001.f
pgf77 -pc 64 -g77libs hpair.o Cteq61Pdf.o mrst2001.o /afs/cern.ch/sw/lcg/hepsoft/0.9/x86_64-slc6-gcc47-opt/share/cernlib/libpdflib804.a /afs/cern.ch/sw/lcg/hepsoft/0.9/x86_64-slc6-gcc47-opt/share/cernlib/libpawlib.a /afs/cern.ch/sw/lcg/hepsoft/0.9/x86_64-slc6-gcc47-opt/share/cernlib/libgrafX11.a /afs/cern.ch/sw/lcg/hepsoft/0.9/x86_64-slc6-gcc47-opt/share/cernlib/libpacklib.a /afs/cern.ch/sw/lcg/hepsoft/0.9/x86_64-slc6-gcc47-opt/share/cernlib/libmathlib.a /afs/cern.ch/sw/lcg/hepsoft/0.9/x86_64-slc6-gcc47-opt/share/cernlib/libkernlib.a -o run