Hi, I am compiling a bunch of .f90 files using the below makefile. The error that I get on using -O2 optimization is posted just below that. Can't figure out where the problem is :/
The makefile is
!---------------------------------------------------
.SUFFIXES: .o .f90
.f90.o:
$(F90) -c $(F90FLAGS) $<
F90 = ifort -warn -WB -C
LD = $(F90)
LIBS = -ldl
PROFILE = -O2
OPTFLAGS = -g
CFLAGS = $(OPTFLAGS) $(PROFILE)
F90FLAGS = $(CFLAGS)
LDFLAGS =
PROGRAM = fadd2d
F90SRCS = global.f90 main.f90 nrtype.f90 nrutil.f90 remesh_module.f90 \
prep.f90 elem_charles.f90 \
assemb_charles.f90 formakf_charles.f90 gauss.f90 shape.f90 solver.f90 \
post_remesh.f90 proc.f90 volume_solver.f90 pressure_solver.f90 \
rearge.f90 sif.f90 sifaniso.f90 root.f90 kernel1_c.f90 kernel2.f90 \
tstress.f90 tstress1.f90 tstress2.f90 tstress2a.f90 tstress3.f90 \
assemb_tstress.f90 rigidinner4.f90
SRCS = $(F90SRCS)
OBJS = $(F90SRCS:.f90=.o)
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
$(LD) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
elem_charles.o: elem_charles.f90 ekc_2.f90 ekd_2_temp.f90 ek_b2.f90 ek_at2.f90 \
eatts2.f90 eattip.f90 eat3.f90 ebts2.f90 ebtip.f90 eb3.f90 \
eat_rigid.f90 eb_rigid.f90
$(F90) -c $(F90FLAGS) elem_charles.f90
#Dec10_09: add prep.f90 to following line to recompile prep.f90
prep.o: prep.f90 setint.f90
$(F90) -c $(F90FLAGS) prep.f90
clean:
rm -f $(OBJS) $(PROGRAM)
rm *.mod
tidy:
rm -f *.BAK *.bak *.CKP *~
undepend:
rm -f $(OBJS:%.o=.%.d)
spotless: tidy clean undepend
!------------------------------------
And the error message is
!------------------------------------
ifort -warn -WB -C -o fadd2d global.o main.o nrtype.o nrutil.o remesh_module.o prep.o elem_charles.o assemb_charles.o formakf_charles.o gauss.o shape.o solver.o post_remesh.o proc.o volume_solver.o pressure_solver.o rearge.o sif.o sifaniso.o root.o kernel1_c.o kernel2.o tstress.o tstress1.o tstress2.o tstress2a.o tstress3.o assemb_tstress.o rigidinner4.o -ldl
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: In function `_start':
(.text+0x12): undefined reference to `__libc_csu_fini'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crt1.o: In function `_start':
(.text+0x19): undefined reference to `__libc_csu_init'
/usr/local/src/intel/fce/10.1.012/lib/libifcore.a(for_aio.o): In function `for_waitid':
for_aio.c.text+0xc65): undefined reference to `dlsym'
for_aio.c.text+0xc89): undefined reference to `dlsym'
for_aio.c.text+0xcad): undefined reference to `dlsym'
for_aio.c.text+0xcd1): undefined reference to `dlsym'
for_aio.c.text+0xcf5): undefined reference to `dlsym'
/usr/local/src/intel/fce/10.1.012/lib/libifcore.a(for_aio.o):for_aio.c.text+0xd19): more undefined references to `dlsym' follow
make: *** [fadd2d] Error 1