[Q-e-developers] multiple definitions of fftw_version
Filippo SPIGA
filippo.spiga at quantum-espresso.org
Tue Jan 12 11:44:12 CET 2016
Ciao Lorenzo,
thanks for reporting this. Did you run the configure and then immediately run make directly or did you manually hack the make.sys after configure and before run make?
--
Mr. Filippo SPIGA, M.Sc.
Quantum ESPRESSO Foundation
http://www.quantum-espresso.org ~ skype: filippo.spiga
*****
Disclaimer: "Please note this message and any attachments are CONFIDENTIAL and may be privileged or otherwise protected from disclosure. The contents are not to be disclosed to anyone other than the addressee. Unauthorized recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission."
On Jan 12, 2016, at 10:04 AM, Lorenzo Paulatto <lorenzo.paulatto at impmc.upmc.fr> wrote:
> Hello,
> and thank you for the new 5.3.0 release.
>
> I have a problem compiling it with ifort 15.0.0 and linking against the intel
> fftw3 interface:
>
> ifort -o pw.x \
> pwscf.o libpw.a ../../Modules/libqemod.a ../../FFTXlib/libqefft.a
> ../../flib/ptools.a ../../flib/flib.a ../../clib/clib.a ../../iotk/src/
> libiotk.a -Wl,--start-group /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/
> mkl/lib/intel64/libmkl_scalapack_lp64.a /opt/dev/intel/2015.0.022/
> composer_xe_2015.0.090/mkl/lib/intel64/libmkl_intel_lp64.a /opt/dev/intel/
> 2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/libmkl_core.a /opt/dev/
> intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/libmkl_sequential.a /
> opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/
> libmkl_blacs_sgimpt_lp64.a -Wl,--end-group -lpthread -lm /opt/dev/intel/
> 2015.0.022/composer_xe_2015/mkl/interfaces/fftw3xf/libfftw3xf_intel.a -L/
> opt/sgi/mpt/mpt-2.11/lib -lmpi -lpthread /usr/lib64/libcpuset.so.1 /usr/lib64/
> libbitmask.so.1
> /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/lib/intel64/
> libmkl_intel_lp64.a(fftw_version.o):(.rodata+0x0): multiple definition of
> `fftw_version'
> ../../FFTXlib/libqefft.a(fft_stick.o):(.data+0x430): first defined here
> ld: Warning: size of symbol `fftw_version' changed from 8 in ../../FFTXlib/
> libqefft.a(fft_stick.o) to 25 in /opt/dev/intel/2015.0.022/
> composer_xe_2015.0.090/mkl/lib/intel64/libmkl_intel_lp64.a(fftw_version.o)
> make[2]: *** [pw.x] Error 1
> make[2]: Leaving directory `/lustrework/paulatto/espresso/PW/src'
> make[1]: *** [pw] Error 1
> make[1]: Leaving directory `/lustrework/paulatto/espresso/PW'
> make: *** [pw] Error 1
>
>
> It is not especially clear to me what the source of the problem is, but I
> guess that the fftw.h which comes with FFTXlib does not match the one in
> /opt/dev/intel/2015.0.022/composer_xe_2015.0.090/mkl/include/fftw/fftw.h
>
> Copying it over does not solve the problem as I get:
> In file included from fft_stick.c(21):
> fftw.c(163): error: identifier "notw_codelet" is undefined
> extern notw_codelet fftw_no_twiddle_1;
> ^
>
> t
> Neither can I remove fftw.h and add a -I/opt/dev/intel/... because of how the
> makefile is made:
> make: *** No rule to make target `fftw.h', needed by `fft_stick.o'. Stop.
>
>
> I noticed that fftw_version is only defined in fftw.c, which, if I understand
> correctl, should not be compiled as I am using -D__FFTW3, but it is included
> from fft_stick.c
>
>
> I finally solved the problem by commenting out the definition of ffw_version
> from FFTXlib/fftw.c, but I'm not sure the solution is ideal and I also have
> doublt about which fftw is actually being used (the optimized intel one or the
> one included?)
>
>
>
> Another solution is to use -D__DFTI instead, which has some other advantages,
> but Carlo expressed some concern about its thread safety and I'm left with the
> doubt about what is actually being used in the code.
>
>
> Could the experts have a go at this?
>
> I'm attaching the relevant make.sys, renamed
>
>
> --
> Dr. Lorenzo Paulatto
> IdR @ IMPMC -- CNRS & Université Paris 6
> +33 (0)1 44 275 084 / skype: paulatz
> http://www.impmc.upmc.fr/~paulatto/
> 23-24/4é16 Boîte courrier 115,
> 4 place Jussieu 75252 Paris Cédex 05<make.something>_______________________________________________
> Q-e-developers mailing list
> Q-e-developers at qe-forge.org
> http://qe-forge.org/mailman/listinfo/q-e-developers
More information about the developers
mailing list