No rule to make target 'fftmpiw.f90'

Questions regarding the compilation of VASP on various platforms: hardware, compilers and libraries, etc.


Moderators: Global Moderator, Moderator

Locked
Message
Author
User avatar
paulfons
Jr. Member
Jr. Member
Posts: 93
Joined: Sun Nov 04, 2012 2:40 am
License Nr.: 5-1405
Location: Yokohama, Japan
Contact:

No rule to make target 'fftmpiw.f90'

#1 Post by paulfons » Fri Feb 14, 2025 5:59 am

I am attempting to build vasp 6.5.0 with the latest intel oneapi compiler (2025.0.4 20241205). After solving a few issues with application of the correct ifx/icpx compilers in the compilation of c-sources, I am running into an issue with linking to the (Intel MKL) interface libraries to fftw. The error I encounter is as below:

make[2]: Leaving directory '/data/Software/Vasp/vasp.6.5.0/build/std'
rm -f vasp ; make vasp ; cp vasp ../../bin/vasp_std
make[2]: Entering directory '/data/Software/Vasp/vasp.6.5.0/build/std'
make[2]: *** No rule to make target 'fftmpiw.f90', needed by 'fftmpiw.o'. Stop.
make[2]: Leaving directory '/data/Software/Vasp/vasp.6.5.0/build/std'

I have added a reference to the compiled fft interface in makefile.include, but I am still encountering the same fftw error, namely that the build system does not know how to create the object file fftmpiw.o. I would appreciate any hints on what I should try to address this problem. My makefile.include file includes a reference to the fftw3 interface library I build in the mkl/interfaces folder.

What can I do to solve this linking problem. Also where is the ftmpiw.f90 referenced in the error and where is it located?

OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /opt/intel/oneAPI/mkl/latest/share/mkl/interfaces/fftw3xf/libfftw3xf_intel.a
OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o


manuel_engel1
Global Moderator
Global Moderator
Posts: 168
Joined: Mon May 08, 2023 4:08 pm

Re: No rule to make target 'fftmpiw.f90'

#2 Post by manuel_engel1 » Fri Feb 14, 2025 12:14 pm

Hi,

Good to hear that you were able to resolve your previous issue. The makefile.include that you are using is outdated. The fftmpiw.F file that you are referring to was removed in VASP 6.5.0 and that is why the compiler cannot find it. I advice you to use one of the supplied makefile.include from the "arch" directory in your VASP root folder. That should resolve the error.

Manuel
VASP developer

manuel_engel1
Global Moderator
Global Moderator
Posts: 168
Joined: Mon May 08, 2023 4:08 pm

Re: No rule to make target 'fftmpiw.f90'

#3 Post by manuel_engel1 » Tue Feb 18, 2025 11:29 am

Since there is a follow-up topic here, I will consider this particular issue as resolved and lock this topic.

Manuel
VASP developer

Locked