kugui@ISSPで起こった問題と解決方法 †
ソースを修正していないのに、突然xc_vdw.f90がコンパイルできないという問題が起きました。
その場合、Makefileを以下のように修正してxc_vdw.f90のコンパイルオプションを変更して対応しました。
- オリジナル
fftw3.o: fftw3.f90
@echo cpping $*.f90
@$(CPP) $(P_FLAGS) < $*.f90 > $(WORKDIR)/$*.f90
@echo Compiling $*.f90
@(cd $(WORKDIR); $(F90) -c $(FLAGG) $(INCLUDE) $*.f90; cd $(SRCDIR))
@mv $(WORKDIR)/$@ .
- 修正版
fftw3.o: fftw3.f90
@echo cpping $*.f90
@$(CPP) $(P_FLAGS) < $*.f90 > $(WORKDIR)/$*.f90
@echo Compiling $*.f90
@(cd $(WORKDIR); $(F90) -c $(FLAGG) $(INCLUDE) $*.f90; cd $(SRCDIR))
@mv $(WORKDIR)/$@ .
xc_vdw.o: xc_vdw.f90
@echo cpping $*.f90
@$(CPP) $(P_FLAGS) < $*.f90 > $(WORKDIR)/$*.f90
@echo Compiling $*.f90
@(cd $(WORKDIR); $(F90) -c $(FLAG) $(INCLUDE) $*.f90; cd $(SRCDIR))
@mv $(WORKDIR)/$@ .
また修正版ではmake.archでOPT1という変数で最適化オプションを-O3から-O1に修正しています。
OPT1 = -O1
詳しい原因は調査する必要がありますが、xc_vdwはほぼ使用していないので、最適化しないことによる問題は無いと思います。