pgf77 vs pgf90 to compile software

203 views Asked by At

I'm compiling a software (to convert ASCII to BIN) in LINUX, using PGI 2019 community version. The Makefile use pgf77 which not included in the PGI compiler I have in my system, so I have to change to pgf90. However, I faced to an error:

pgf90 -vms -c -O -Mbyteswapio simcon.f
pgf90-Error-Unknown switch: -vms
make: *** [simcon.o] Error 1

I think the -vms is not recognized by pgf90. So what flag should I use here instead? The MAKEFILE like this:

FCFLGS = -O -Mbyteswapio
OBJCTS = \
aircon.o \
airconv.o \
avgcon.o \
avgcns.o \
bndcon.o \
checon.o \
dfbcon.o \
emicon.o \
metcon.o \
ptscon.o \
regcon.o \
simcon.o \
tercon.o \
tmpcon.o \
tmpcn3.o \
tpccon.o \
wndcon.o

airconv: $(OBJCTS)

        pgf77 -o airconv $(FCFLGS) $(OBJCTS)

.f.o:
        pgf77 -c $(FCFLGS) $<

simcon.o: simcon.f
        pgf77 -vms -c $(FCFLGS) simcon.f

Thank you very much.

Ha Chi

1

There are 1 answers

1
Mat Colgrove On

pgf77 was in the process of being deprecated with the PGI 2019 compilers. It's still there, but only included under the older non-LLVM versions of compilers (i.e. "$PGI/linux86-64-nollvm/19.xx/bin" directory). Though it would be best to move to the newer pgfortran driver (pgf90 works as well).

The "-vms" flag enabled very old VAX/VMS extensions that have been superseded by Fortran standard routines or other extensions. As you note, the code compiles without the flag, so either the code doesn't actually use these extensions or it can use the 3F version of the extensions.