<!DOCTYPE html><html><head>
<style type="text/css">body { font-family:'宋体'; font-size:13px}</style>
</head>
<body><div>Hi, Dear  David Strubbe,</div><div><br></div><div><br></div><div>If you use the DFLAG "-D__DFTI" for mkl-fftw, there will be no such problem. I encountered this too, because the flag D__FFTW3 worked in QE 5.0.3, but then I realized that was just luck. Since the fftw interface seems to be systematically improved, it is better to use the more suitable flag.</div><div> 
<div>-- </div><div>Yi Wang<br>Ph.D candidate at Nanjing University of Science and Technology</div></div><div><br></div><div>On Thu, 21 Apr 2016 07:25:15 +0800, David Strubbe <dstrubbe@berkeley.edu> wrote:<br></div><br><blockquote style="margin: 0 0 0.80ex; border-left: #0000FF 2px solid; padding-left: 1ex"><div dir="ltr"><div style="font-size:12.8px">In trying to compile version 5.3.0 with Intel compilers (version 16.0.0 20150815) and Intel MPI, using MKL version 2016.0.109 for FFTW3, I got the following error for linking pw.x:</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><div>mpiifort  -o pw.x \</div><div>           pwscf.o  libpw.a ../../Modules/libqemod.a ../../FFTXlib/libqefft.a ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/libiotk.a -lmkl_scalapack_lp64   -Wl,--start-group /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_sequential.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_core.a /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group   </div><div>/opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_intel_lp64.a(fftw_version.o):(.rodata+0x0): multiple definition of `fftw_version'</div><div>../../FFTXlib/libqefft.a(fft_stick.o):(.data+0x430): first defined here</div><div>ld: Warning: size of symbol `fftw_version' changed from 8 in ../../FFTXlib/libqefft.a(fft_stick.o) to 27 in /opt/intel/compilers_and_libraries_2016.0.109/linux/mkl/lib/intel64/libmkl_intel_lp64.a(fftw_version.o)</div></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I solved this problem by removing the following three offending lines:</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">clib/fftw.h:129:extern char *fftw_version;</div><div style="font-size:12.8px">FFTXlib/fftw.h:136:extern char *fftw_version;</div><div style="font-size:12.8px">FFTXlib/fftw.c:348:char *fftw_version = "FFTW V1.1 ($Id: fftw.c,v 1.3 2010-01-26 14:06:59 giannozz Exp $)";</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Then compilation and running of pw.x are successful. As far as I can tell, those fftw_version lines do not serve any purpose at least for pw, pp, or ph, since I do not find this variable being used anywhere else in those parts of the code. I recommend the removal of these lines, or if in some plugin I have not downloaded the fftw_version is actually used, I suggest you rename it to avoid this name clash.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Cheers,</div><div style="font-size:12.8px">David Strubbe</div><div style="font-size:12.8px">MIT</div></div>
</blockquote><br><br><br><div id="M2Signature"><div><br></div></div></body></html>