<div dir="ltr"><div>If nobody has better ideas or different proposals, I'll proceed soon to remove the "fftw_version" variable from FFTXlib/fftw.c and FFTXlib/fftw.h<br><br></div>Paolo<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 12, 2016 at 1:01 PM, Paolo Giannozzi <span dir="ltr"><<a href="mailto:p.giannozzi@gmail.com" target="_blank">p.giannozzi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Replacing fftw_version with something else in fftw.h and fftw.c seems to me by far the simplest solution. By the way, the content of the fftw_version string:<br><br>char *fftw_version = "FFTW V1.1 ($Id: fftw.c,v 1.3 2010-01-26 14:06:59 giannozz Exp $)";<br><br></div>is misleading: I am in no way responsible for introducing fftw.c into the distribution, I know nothing about its origin and what happened on January 26 2010 around 2pm.<br><br></div>Paolo<br></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Tue, Jan 12, 2016 at 12:15 PM, Lorenzo Paulatto <span dir="ltr"><<a href="mailto:lorenzo.paulatto@impmc.upmc.fr" target="_blank">lorenzo.paulatto@impmc.upmc.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Tuesday, January 12, 2016 10:44:12 AM Filippo SPIGA wrote:<br>
> Ciao Lorenzo,<br>
><br>
> thanks for reporting this. Did you run the configure and then immediately<br>
> run make directly or did you manually hack the make.sys after configure and<br>
> before run make?<br>
<br>
</span>I run configure first, then overwrote it with an older one which I further<br>
edited a bit, I think I also tried to just run configure and compile. I did<br>
however copy the code over rsync with a certain list of --exclude which is<br>
supposed to not overwrite the compiled files and configuration, so that may<br>
also be a cause.<br>
<br>
I'm trying now to take a pristine qe 5.3.0., untar configure and make.<br>
<br>
This machine is a bit complicated, as I would prefer to use SGI MPT + intel<br>
compiler, but for the sake of argument I'm now using intel MPI, which makes<br>
the make.sys as produced by configure ALMOST work without any hacking (I have<br>
to change openmpi to intelmpi in for blacs)<br>
<br>
As long as I stick with the default (I only set MPIF90=mpiifort) everything is<br>
ok, but it link to some system fftw3<br>
<br>
ldd bin/pw.x<br>
        ...<br>
   libfftw3.so.3 => /usr/lib64/libfftw3.so.3 (0x00007ffff71ef000)<br>
<br>
If I edit make.sys to use intel fftw3 interface I get the same problem as<br>
before. I.e. I only changed:<br>
<br>
FFT_LIBS = -lfftw3<br>
  to<br>
FFT_LIBS       =  /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/<br>
intel64/libfftw3xf_intel.a<br>
<br>
<br>
Same result if I run ./configure FFT_LIBS=/opt/dev... instead of changing the<br>
makefile by hand<br>
<br>
<br>
I'm attaching this make sys as well<br>
<br>
HTH<br>
<div><div><br>
<br>
<br>
<br>
><br>
> --<br>
> Mr. Filippo SPIGA, M.Sc.<br>
> Quantum ESPRESSO Foundation<br>
> <a href="http://www.quantum-espresso.org" rel="noreferrer" target="_blank">http://www.quantum-espresso.org</a> ~ skype: filippo.spiga<br>
><br>
> *****<br>
> Disclaimer: "Please note this message and any attachments are CONFIDENTIAL<br>
> and may be privileged or otherwise protected from disclosure. The contents<br>
> are not to be disclosed to anyone other than the addressee. Unauthorized<br>
> recipients are requested to preserve this confidentiality and to advise the<br>
> sender immediately of any error in transmission."<br>
> On Jan 12, 2016, at 10:04 AM, Lorenzo Paulatto<br>
<<a href="mailto:lorenzo.paulatto@impmc.upmc.fr" target="_blank">lorenzo.paulatto@impmc.upmc.fr</a>> wrote:<br>
> > Hello,<br>
> > and thank you for the new 5.3.0 release.<br>
> ><br>
> > I have a problem compiling it with ifort 15.0.0 and linking against the<br>
> > intel fftw3 interface:<br>
> ><br>
> > ifort  -o pw.x \<br>
> ><br>
> >           pwscf.o  libpw.a ../../Modules/libqemod.a<br>
> >           ../../FFTXlib/libqefft.a<br>
> ><br>
> > ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/<br>
> > libiotk.a -Wl,--start-group<br>
> > /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/<br>
> > mkl/lib/intel64/libmkl_scalapack_lp64.a  /opt/dev/intel/2015.0.022/<br>
> > composer_xe_2015.0.090/mkl/lib/intel64/libmkl_intel_lp64.a<br>
> > /opt/dev/intel/<br>
> > 2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/libmkl_core.a /opt/dev/<br>
> > intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/libmkl_sequential<br>
> > .a  / opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/<br>
> > libmkl_blacs_sgimpt_lp64.a -Wl,--end-group -lpthread -lm  /opt/dev/intel/<br>
> > 2015.0.022/composer_xe_2015/mkl/interfaces/fftw3xf/libfftw3xf_intel.a<br>
> > -L/ opt/sgi/mpt/mpt-2.11/lib -lmpi -lpthread /usr/lib64/libcpuset.so.1<br>
> > /usr/lib64/ libbitmask.so.1<br>
> > /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/<br>
> > libmkl_intel_lp64.a(fftw_version.o):(.rodata+0x0): multiple definition of<br>
> > `fftw_version'<br>
> > ../../FFTXlib/libqefft.a(fft_stick.o):(.data+0x430): first defined here<br>
> > ld: Warning: size of symbol `fftw_version' changed from 8 in<br>
> > ../../FFTXlib/<br>
> > libqefft.a(fft_stick.o) to 25 in /opt/dev/intel/2015.0.022/<br>
> > composer_xe_2015.0.090/mkl/lib/intel64/libmkl_intel_lp64.a(fftw_version.o)<br>
> > make[2]: *** [pw.x] Error 1<br>
> > make[2]: Leaving directory `/lustrework/paulatto/espresso/PW/src'<br>
> > make[1]: *** [pw] Error 1<br>
> > make[1]: Leaving directory `/lustrework/paulatto/espresso/PW'<br>
> > make: *** [pw] Error 1<br>
> ><br>
> ><br>
> > It is not especially clear to me what the source of the problem is, but I<br>
> > guess that the fftw.h which comes with FFTXlib does not match the one in<br>
> > /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/include/fftw/fftw.h<br>
> ><br>
> > Copying it over does not solve the problem as I get:<br>
> > In file included from fft_stick.c(21):<br>
> > fftw.c(163): error: identifier "notw_codelet" is undefined<br>
> ><br>
> >  extern notw_codelet fftw_no_twiddle_1;<br>
> ><br>
> >         ^<br>
> ><br>
> > t<br>
> > Neither can I remove fftw.h and add a -I/opt/dev/intel/... because of how<br>
> > the makefile is made:<br>
> > make: *** No rule to make target `fftw.h', needed by `fft_stick.o'.  Stop.<br>
> ><br>
> ><br>
> > I noticed that fftw_version is only defined in fftw.c, which, if I<br>
> > understand correctl, should not be compiled as I am using -D__FFTW3, but<br>
> > it is included from fft_stick.c<br>
> ><br>
> ><br>
> > I finally solved the problem by commenting out the definition of<br>
> > ffw_version from FFTXlib/fftw.c, but I'm not sure the solution is ideal<br>
> > and I also have doublt about which fftw is actually being used (the<br>
> > optimized intel one or the one included?)<br>
> ><br>
> ><br>
> ><br>
> > Another solution is to use -D__DFTI instead, which has some other<br>
> > advantages, but Carlo expressed some concern about its thread safety and<br>
> > I'm left with the doubt about what is actually being used in the code.<br>
> ><br>
> ><br>
> > Could the experts have a go at this?<br>
> ><br>
> > I'm attaching the relevant make.sys, renamed<br>
><br>
</div></div><span>> _______________________________________________<br>
> Q-e-developers mailing list<br>
> <a href="mailto:Q-e-developers@qe-forge.org" target="_blank">Q-e-developers@qe-forge.org</a><br>
> <a href="http://qe-forge.org/mailman/listinfo/q-e-developers" rel="noreferrer" target="_blank">http://qe-forge.org/mailman/listinfo/q-e-developers</a><br>
<br>
</span><div><div>--<br>
Dr. Lorenzo Paulatto<br>
IdR @ IMPMC -- CNRS & Université Paris 6<br>
<a href="tel:%2B33%20%280%291%2044%20275%20084" value="+33144275084" target="_blank">+33 (0)1 44 275 084</a> / skype: paulatz<br>
<a href="http://www.impmc.upmc.fr/~paulatto/" rel="noreferrer" target="_blank">http://www.impmc.upmc.fr/~paulatto/</a><br>
23-24/4é16 Boîte courrier 115,<br>
4 place Jussieu 75252 Paris Cédex 05</div></div><br>_______________________________________________<br>
Q-e-developers mailing list<br>
<a href="mailto:Q-e-developers@qe-forge.org" target="_blank">Q-e-developers@qe-forge.org</a><br>
<a href="http://qe-forge.org/mailman/listinfo/q-e-developers" rel="noreferrer" target="_blank">http://qe-forge.org/mailman/listinfo/q-e-developers</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br></div></div><div><div dir="ltr"><div><div dir="ltr"><div>Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,<br>Univ. Udine, via delle Scienze 208, 33100 Udine, Italy<br>Phone <a href="tel:%2B39-0432-558216" value="+390432558216" target="_blank">+39-0432-558216</a>, fax <a href="tel:%2B39-0432-558222" value="+390432558222" target="_blank">+39-0432-558222</a><br><br></div></div></div></div></div>
</div>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,<br>Univ. Udine, via delle Scienze 208, 33100 Udine, Italy<br>Phone +39-0432-558216, fax +39-0432-558222<br><br></div></div></div></div></div>
</div>