Skip to content

error while installing p3dfft library #21

Open
@p-awasthi

Description

@p-awasthi

I am having issues while installing p3dfft++ library. I have fftw (mpi enabled) library installed at location /usr/local/FFTW. I am trying to install p3dfft++ library after downloading the source file from official git hub page. When I install using the following command (./configure --prefix=/usr/local/p3dfft --enable-gnu --enable-fftw --with-fftw=/usr/local/FFTW FC=mpif90 CC=mpicc CXX=mpicxx), I am getting the following error after executing make file.

(Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
make[3]: *** [Makefile:460: test1D_cos.o] Error 1
make[3]: Leaving directory '/home/pratyush/Downloads/p3dfft.3-v.3.1.2/sample/FORTRAN'
make[2]: *** [Makefile:315: all-recursive] Error 1
make[2]: Leaving directory '/home/pratyush/Downloads/p3dfft.3-v.3.1.2/sample'
make[1]: *** [Makefile:412: all-recursive] Error 1
make[1]: Leaving directory '/home/pratyush/Downloads/p3dfft.3-v.3.1.2'
make: *** [Makefile:331: all] Error 2)

After exploring on internet, I found that adding FCFLAG suppresses the error to warning. Now executing the command (./configure --prefix=/usr/local/p3dfft --enable-gnu --enable-fftw --with-fftw=/usr/local/FFTW FC=mpif90 CC=mpicc CXX=mpicxx FCFLAGS="-fallow-argument-mismatch"). This installs the library in the system. But when I run the sample files as provided I got a DEF_FFT_FLAGS error to which I defined DEF_FFT_FLAGS as 123. Now when I am executing the sample file provided I am getting the following error.

(/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::exec_r2r_complex_s(long, float*, float*)': init.C:(.text+0x22): undefined reference to fftwf_execute_r2r'

/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::plan_dct1_s(int, int const*, int, float*, int const*, int, int, float*, int const*, int, int, unsigned int)': init.C:(.text+0xe8): undefined reference to fftwf_plan_many_r2r'
/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::plan_dst1_s(int, int const*, int, float*, int const*, int, int, float*, int const*, int, int, unsigned int)': init.C:(.text+0x158): undefined reference to fftwf_plan_many_r2r'
/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::plan_dct1_complex_s(int, int const*, int, float*, int const*, int, int, float*, int const*, int, int, unsigned int)': init.C:(.text+0x1d1): undefined reference to fftwf_plan_many_r2r'
/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::plan_dst1_complex_s(int, int const*, int, float*, int const*, int, int, float*, int const*, int, int, unsigned int)': init.C:(.text+0x251): undefined reference to fftwf_plan_many_r2r'
/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::plan_dct2_s(int, int const*, int, float*, int const*, int, int, float*, int const*, int, int, unsigned int)': init.C:(.text+0x2c8): undefined reference to fftwf_plan_many_r2r'
/usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o):init.C:(.text+0x338): more undefined references to fftwf_plan_many_r2r' follow /usr/bin/ld: /usr/local/p3dfft/lib/libp3dfft.3.a(init.o): in function p3dfft::setup()':
init.C:(.text+0x27b0): undefined reference to `fftwf_execute_r2r')

I have also tried installing the previous version but errors remain the same.
Any help is appreciated.
Thanks and regards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions