When I compile the PGI fortran, I met this error, and I don’t konw how to solve it. What is wrong with it?
pgf90 -DP3D_SINGLE -DPG -DDBLE_PRECSN -fast -g -r8 -acc -ta=tesla -Minfo=accel -c setslave.F
pgf90 -DP3D_SINGLE -DPG -DDBLE_PRECSN -fast -g -r8 -acc -ta=tesla -Minfo=accel -c umalloc.F
pgf90 -DP3D_SINGLE -DPG -DDBLE_PRECSN -fast -g -r8 -acc -ta=tesla -Minfo=accel -c fake.F
ar rusc libdist.a bc_blkint.o findmin_new.o plot3d.o rrest.o bc_patch.o forceout.o plot3t.o rrestg.o calyplus.o pointers.o setup.o writ_buf.o mgblk.o qinter.o prntcp
.o newalpha.o cputim.o patcher.o qout.o termn8.o dynptch.o plot3c.o resp.o usrint.o wrest.o wrestg.o pre_bc.o bc_embed.o updateg.o compg2n.o resetg.o bc_period.o yplusout.o sizer.o cfl3d.o trnsfr_vals.o updatedg.o ae_corr.o mgbl.o setslave.o umalloc.o fake.opgf90 -DP3D_SINGLE -DPG -DDBLE_PRECSN -acc -ta=tesla -Minfo=accel -o cfl3d_seq ccomplex.o development.o main.o \
libdist.a libcommon.a
nvlink error : Undefined reference to 'pre_blockbc_' in 'libdist.a:pre_bc.o'
nvlink error : Undefined reference to 'pre_period_' in 'libdist.a:pre_bc.o'
nvlink error : Undefined reference to 'pre_embed_' in 'libdist.a:pre_bc.o'
And the makefile is:
FSRC_SPEC = fake.F
FOBJ_DIST = $(FSRC_DIST:.F=.o)
FOBJ_SPEC = $(FSRC_SPEC:.F=.o)
DISTLIB = libdist.a
$(DISTLIB): $(FSRC_DIST) $(FOBJ_DIST) $(FSRC_SPEC) $(FOBJ_SPEC)
ar $(AROPT) $(DISTLIB) $(FOBJ_DIST) $(FOBJ_SPEC)
@$(RANLIB) $(DISTLIB)
I have add some OpenACC directives in pre_blockbc.F and compiled it with -acc option,but I don’t know how to let libdist.a identified it. The libdist.a was generated by the upper sentence.