LadaF/PoisFFT

Problem for the compilation of the MPI version

Closed this issue · 21 comments

Hello,

I have a problem for the compilation of the MPI version of PoisFFT. During the compilation of this version the code or the preprocessing seems to have some errors.
Can you help me with these errors ?

Thanks

LadaF commented

Yes, I can try. Please attach the complete output and the version of your
compiler and of your MPI library. The output of mpif90 -v will be useful.
Dne 12. 8. 2015 17:05 "afallo" notifications@github.com napsal(a):

Hello,

I have a problem for the compilation of the MPI version of PoisFFT. During
the compilation of this version the code or the preprocessing seems to have
some errors.
Can you help me with these errors ?

Thanks


Reply to this email directly or view it on GitHub
#2.

Hello,
The output are attached.
Thanks

2015-08-12 20:15 GMT+02:00 LadaF notifications@github.com:

Yes, I can try. Please attach the complete output and the version of your
compiler and of your MPI library. The output of mpif90 -v will be useful.
Dne 12. 8. 2015 17:05 "afallo" notifications@github.com napsal(a):

Hello,

I have a problem for the compilation of the MPI version of PoisFFT.
During
the compilation of this version the code or the preprocessing seems to
have
some errors.
Can you help me with these errors ?

Thanks


Reply to this email directly or view it on GitHub
#2.


Reply to this email directly or view it on GitHub
#2 (comment).

[afallo@ip01-mp2 src]$ mpif90 -v
ifort version 14.0.0

scons mpi=yes
scons: Reading SConscript files ...
scons: done reading SConscript files.

scons: warning: Support for pre-2.7.0 Python version (2.6.6) is deprecated.
If this will cause hardship, contact scons-dev@scons.org
File "/home/afallo/bin/scons", line 199, in
scons: Building targets ...
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/gcc/precisions.os -c -DMPI -cpp -g -Wall -Wextra -Wsurprising -Wno-unused-dummy-argument -O -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/gcc -J/home/afallo/Stage/PoisFFT_master/bin/gcc precisions.f90
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10006: ignoring unknown option '-J/home/afallo/Stage/PoisFFT_master/bin/gcc'
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/gcc/parameters.os -c -DMPI -cpp -g -Wall -Wextra -Wsurprising -Wno-unused-dummy-argument -O -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/gcc -J/home/afallo/Stage/PoisFFT_master/bin/gcc parameters.f90
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10006: ignoring unknown option '-J/home/afallo/Stage/PoisFFT_master/bin/gcc'
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/gcc/customfftw3.os -c -DMPI -cpp -g -Wall -Wextra -Wsurprising -Wno-unused-dummy-argument -O -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/gcc -J/home/afallo/Stage/PoisFFT_master/bin/gcc customfftw3.f90
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10006: ignoring unknown option '-J/home/afallo/Stage/PoisFFT_master/bin/gcc'
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/gcc/custompfft.os -c -DMPI -cpp -g -Wall -Wextra -Wsurprising -Wno-unused-dummy-argument -O -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/gcc -J/home/afallo/Stage/PoisFFT_master/bin/gcc custompfft.f90
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10006: ignoring unknown option '-J/home/afallo/Stage/PoisFFT_master/bin/gcc'
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/gcc/fft.os -c -DMPI -cpp -g -Wall -Wextra -Wsurprising -Wno-unused-dummy-argument -O -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/gcc -J/home/afallo/Stage/PoisFFT_master/bin/gcc fft.f90
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
ifort: command line warning #10006: ignoring unknown option '-J/home/afallo/Stage/PoisFFT_master/bin/gcc'
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFTF_PLAN_R2R]
plan%planptr = pfftf_plan_r2r(2,int([D%gny,D%gnx],c_intptr_t), &
-----------------------^
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFTF_PLAN_R2R]
plan%planptr = pfftf_plan_r2r(3,int([D%gnz,D%gny,D%gnx],c_intptr_t), &
-----------------------^
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFT_PLAN_R2R]
plan%planptr = pfft_plan_r2r(2,int([D%gny,D%gnx],c_intptr_t), &
-----------------------^
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFT_PLAN_R2R]
plan%planptr = pfft_plan_r2r(3,int([D%gnz,D%gny,D%gnx],c_intptr_t), &
-----------------------^
compilation aborted for fft.f90 (code 1)
scons: *** [/home/afallo/Stage/PoisFFT_master/bin/gcc/fft.os] Error 1
scons: building terminated because of errors.

LadaF commented

PoisFFT does not have automatic compiler recognition. You must tell it to use Intel. Try scons mpi=yes comp=intel. There is an example in the README.

There are some errors again.

2015-08-13 15:45 GMT+02:00 LadaF notifications@github.com:

PoisFFT does not have automatic compiler recognition. You must tell it to
use Intel. Try scons mpi=yes comp=intel. There is an example in the
README.


Reply to this email directly or view it on GitHub
#2 (comment).

[afallo@ip01-mp2 src]$ scons mpi=yes comp=intel
scons: Reading SConscript files ...
scons: done reading SConscript files.

scons: warning: Support for pre-2.7.0 Python version (2.6.6) is deprecated.
If this will cause hardship, contact scons-dev@scons.org
File "/home/afallo/bin/scons", line 199, in
scons: Building targets ...
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/custompfft.os -c -DMPI -cpp -g -O3 -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel custompfft.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/fft.os -c -DMPI -cpp -g -O3 -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel fft.f90
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFTF_PLAN_R2R]
plan%planptr = pfftf_plan_r2r(2,int([D%gny,D%gnx],c_intptr_t), &
-----------------------^
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFTF_PLAN_R2R]
plan%planptr = pfftf_plan_r2r(3,int([D%gnz,D%gny,D%gnx],c_intptr_t), &
-----------------------^
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFT_PLAN_R2R]
plan%planptr = pfft_plan_r2r(2,int([D%gny,D%gnx],c_intptr_t), &
-----------------------^
./plan_new-inc.f90(68): error #6404: This name does not have a type, and must have an explicit type. [PFFT_PLAN_R2R]
plan%planptr = pfft_plan_r2r(3,int([D%gnz,D%gny,D%gnx],c_intptr_t), &
-----------------------^
compilation aborted for fft.f90 (code 1)
scons: *** [/home/afallo/Stage/PoisFFT_master/bin/intel/fft.os] Error 1
scons: building terminated because of errors.

LadaF commented

This looks like an issue with an old version of PFFT. The recent version from https://github.com/mpip/pfft/ should work.

Alternatively, there is a workaround, so that PoisFFT can be compiled with the old version. Try
scons mpi=yes comp=intel missing_pfft_r2r=yes

I have this when I try scons mpi=yes comp=intel missing_pfft_r2r=yes

2015-08-13 16:02 GMT+02:00 LadaF notifications@github.com:

This looks like an issue with an old version of PFFT. The recent version
from https://github.com/mpip/pfft/ should work.

Alternatively, there is a workaround, so that PoisFFT can be compiled with
the old version. Try
scons mpi=yes comp=intel missing_pfft_r2r=yes


Reply to this email directly or view it on GitHub
#2 (comment).

[afallo@ip01-mp2 src]$ scons mpi=yes comp=intel missing_pfft_r2r=yes
scons: Reading SConscript files ...
scons: done reading SConscript files.

scons: warning: Support for pre-2.7.0 Python version (2.6.6) is deprecated.
If this will cause hardship, contact scons-dev@scons.org
File "/home/afallo/bin/scons", line 199, in
scons: Building targets ...
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/precisions.os -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel precisions.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/parameters.os -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel parameters.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/customfftw3.os -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -fPIC -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel customfftw3.f90
mpicc -o /home/afallo/Stage/PoisFFT_master/bin/intel/missing_pfft.os -c -DMPI -DMISSING_PFFT_R2R -fPIC missing_pfft.c
missing_pfft.c(2): catastrophic error: cannot open source file "pfft.h"
#include "pfft.h"
^

compilation aborted for missing_pfft.c (code 4)
scons: *** [/home/afallo/Stage/PoisFFT_master/bin/intel/missing_pfft.os] Error 4
scons: building terminated because of errors.

LadaF commented

Where is your PFFT installation? It is strange that pfft.f03 is found and pfft.h is not, but the fix should be to put the path to your pfft include directory to CPATH or C_INCLUDE_PATH:

   export CPATH=$CPATH:/the/path/
   scons ...

The path should be something like /your_home/include or usr/local/include or similar. You can put the export command to your .bashrc if you will need it more often.

Thanks, it seems to work for the compilation of the mpi version, but there
are some errors again for the compilation of the test.

2015-08-13 16:19 GMT+02:00 LadaF notifications@github.com:

Where is your PFFT installation? It is strange that pfft.f03 is found and
pfft.h is not, but the fix should be to put the path to your pfft include
directory to CPATH or C_INCLUDE_PATH:

export CPATH=$CPATH:/the/path/
scons ...

The path should be something like /your_home/include or usr/local/include
or similar. You can put the export command to your .bashrc if you will
need it more often.


Reply to this email directly or view it on GitHub
#2 (comment).

scons: Reading SConscript files ...
scons: done reading SConscript files.

scons: warning: Support for pre-2.7.0 Python version (2.6.6) is deprecated.
If this will cause hardship, contact scons-dev@scons.org
File "/home/afallo/bin/scons", line 199, in
scons: Building targets ...
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/precisions.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel precisions.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/parameters.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel parameters.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/customfftw3.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel customfftw3.f90
mpicc -o /home/afallo/Stage/PoisFFT_master/bin/intel/missing_pfft.o -c -DMPI -DMISSING_PFFT_R2R missing_pfft.c
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/custompfft.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel custompfft.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/fft.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel fft.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/poisfft.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel poisfft.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/main.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel main.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/c_binding.o -c -DMPI -cpp -g -O3 -DMISSING_PFFT_R2R -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel c_binding.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/testmpi.o -c -O3 -g -I/home/afallo/Stage/PoisFFT_master/bin/intel -module /home/afallo/Stage/PoisFFT_master/bin/intel testmpi.f90
mpif90 -o /home/afallo/Stage/PoisFFT_master/bin/intel/testmpi /home/afallo/Stage/PoisFFT_master/bin/intel/precisions.o /home/afallo/Stage/PoisFFT_master/bin/intel/parameters.o /home/afallo/Stage/PoisFFT_master/bin/intel/customfftw3.o /home/afallo/Stage/PoisFFT_master/bin/intel/missing_pfft.o /home/afallo/Stage/PoisFFT_master/bin/intel/custompfft.o /home/afallo/Stage/PoisFFT_master/bin/intel/fft.o /home/afallo/Stage/PoisFFT_master/bin/intel/poisfft.o /home/afallo/Stage/PoisFFT_master/bin/intel/main.o /home/afallo/Stage/PoisFFT_master/bin/intel/f_mpi_comm_c2f.os /home/afallo/Stage/PoisFFT_master/bin/intel/c_binding.o /home/afallo/Stage/PoisFFT_master/bin/intel/c_binding_c.os /home/afallo/Stage/PoisFFT_master/bin/intel/testmpi.o -lpfft -lpfftf -lfftw3_mpi -lfftw3f_mpi -lfftw3 -lfftw3f
ld: cannot find -lpfft
scons: *** [/home/afallo/Stage/PoisFFT_master/bin/intel/testmpi] Error 1
scons: building terminated because of errors.

LadaF commented

This is similar to the last one. You need LD_LIBRARY_PATH to include the directory with the pfft library. That is the same directory as before, but not .../include but .../lib. I suggest you to place the export command to your .bashrc.

  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/directory/lib

I tried with the library path like you said but there are the same errors.

2015-08-13 16:46 GMT+02:00 LadaF notifications@github.com:

This is similar to the last one. You need LD_LIBRARY_PATH to include the
directory with the pfft library. That is the same directory as before, but
not .../include but .../lib. I suggest you to place the export command to
your .bashrc.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/the/directory/lib


Reply to this email directly or view it on GitHub
#2 (comment).

LadaF commented

It is also possible that you did not compile PFFT properly. Check that you have libpfft.so in the lib directory. If you have only libpfft.a you did not compile it completely.

I checked and I have libpfft.so in the lib directory of pfft.

2015-08-13 16:58 GMT+02:00 LadaF notifications@github.com:

It is also possible that you did not compile PFFT properly. Check that you
have libpfft.so in the lib directory. If you have only libpfft.a you did
not compile it completely.


Reply to this email directly or view it on GitHub
#2 (comment).

LadaF commented

And libpfftf.so?

2015-08-13 16:01 GMT+01:00 afallo notifications@github.com:

I checked and I have libpfft.so in the lib directory of pfft.

2015-08-13 16:58 GMT+02:00 LadaF notifications@github.com:

It is also possible that you did not compile PFFT properly. Check that
you
have libpfft.so in the lib directory. If you have only libpfft.a you did
not compile it completely.


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).

No, I don't see any file beginning by libpfftf in the lib directory.

2015-08-13 17:08 GMT+02:00 LadaF notifications@github.com:

And libpfftf.so?

2015-08-13 16:01 GMT+01:00 afallo notifications@github.com:

I checked and I have libpfft.so in the lib directory of pfft.

2015-08-13 16:58 GMT+02:00 LadaF notifications@github.com:

It is also possible that you did not compile PFFT properly. Check that
you
have libpfft.so in the lib directory. If you have only libpfft.a you
did
not compile it completely.


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).

LadaF commented

In that case you must compile PFFT also with --enable-float. See more in
the PFFT readme.

2015-08-13 16:12 GMT+01:00 afallo notifications@github.com:

No, I don't see any file beginning by libpfftf in the lib directory.

2015-08-13 17:08 GMT+02:00 LadaF notifications@github.com:

And libpfftf.so?

2015-08-13 16:01 GMT+01:00 afallo notifications@github.com:

I checked and I have libpfft.so in the lib directory of pfft.

2015-08-13 16:58 GMT+02:00 LadaF notifications@github.com:

It is also possible that you did not compile PFFT properly. Check
that
you
have libpfft.so in the lib directory. If you have only libpfft.a you
did
not compile it completely.


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).

The compilation works.
Thanks, that was a big help for me in my internship.

2015-08-13 17:13 GMT+02:00 LadaF notifications@github.com:

In that case you must compile PFFT also with --enable-float. See more in
the PFFT readme.

2015-08-13 16:12 GMT+01:00 afallo notifications@github.com:

No, I don't see any file beginning by libpfftf in the lib directory.

2015-08-13 17:08 GMT+02:00 LadaF notifications@github.com:

And libpfftf.so?

2015-08-13 16:01 GMT+01:00 afallo notifications@github.com:

I checked and I have libpfft.so in the lib directory of pfft.

2015-08-13 16:58 GMT+02:00 LadaF notifications@github.com:

It is also possible that you did not compile PFFT properly. Check
that
you
have libpfft.so in the lib directory. If you have only libpfft.a
you
did
not compile it completely.


Reply to this email directly or view it on GitHub
<#2 (comment)
.


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).


Reply to this email directly or view it on GitHub
#2 (comment).

Hi, I had the same problem of afallo..

I follow carefully this post to compile Poisfft with mpi. I successfully compiled the library, but not the test case.

I get an ld returned status, cannot find -lppft.

I set correctly the LD_LIBRARY_PATH.

What could be the problem?

Thanks

LadaF commented

This is the comand: scons openmp=no mpi=yes test

This is the output:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/precisions.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc precisions.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/parameters.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc parameters.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/customfftw3.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc customfftw3.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/custompfft.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc custompfft.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/fft.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc fft.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/poisfft.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc poisfft.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/main.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc main.f90
mpicc -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/f_mpi_comm_c2f.o -c -DMPI f_mpi_comm_c2f.c
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/c_binding.o -c -DMPI -cpp -g -O3 -fbacktrace -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc c_binding.f90
mpicc -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/c_binding_c.o -c -DMPI c_binding.c
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/testmpi.o -c -O3 -g -I/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc -J/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc testmpi.f90
mpif90 -o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/testmpi /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/precisions.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/parameters.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/customfftw3.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/custompfft.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/fft.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/poisfft.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/main.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/f_mpi_comm_c2f.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/c_binding.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/c_binding_c.o /home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/testmpi.o -lpfft -lpfftf -lfftw3_mpi -lfftw3f_mpi -lfftw3 -lfftw3f -lfftw3_omp -lfftw3f_omp
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lpfft
collect2: error: ld returned 1 exit status
scons: *** [/home/mattia/Code_lib/Poisfft/PoisFFT-master/bin/gcc/testmpi] Error 1
scons: building terminated because of errors.

But now I realized that the libpfft.so and libpfft.a are not present..

This is strange.. I used the command in this post to compile pfft
In the specific I used:
./bootstrap.sh
./configure --prefix=the/path/of/installation --enable-float
make
make install

LadaF commented

Ok! Thank you
I solved it