sdsc / p3dfft

P3DFFT stands for Parallel Three-Dimensional Fast Fourier Transforms. It is a library for large-scale computer simulations on parallel platforms. It implements 3D FFT and related algorithms such as Chebyshev transform (an important class of algorithm for simulations in a wide range of fields). P3DFFT uses 2D, or pencil, decomposition. For more information:
http://www.p3dfft.net
Other
54 stars 16 forks source link

problem in installation #6

Closed latishpavan closed 6 years ago

latishpavan commented 7 years ago

Hi everyone,

I am trying to install p3dfft on my Ubuntu 14.04 PC. I am facing problem when I am running 'make'. I think I am not configuring it properly. Can someone give me the correct command for running configure script. I am using GNU C compiler and FFTW as support library. I am getting the following error

latish@latish-Aspire-E5-573G:~/btp/p3dfft-2.7.5$ make make all-recursive make[1]: Entering directory/home/latish/btp/p3dfft-2.7.5' Making all in build make[2]: Entering directory /home/latish/btp/p3dfft-2.7.5/build' make[2]: [all-local] Error 1 (ignored) make[2]: Leaving directory/home/latish/btp/p3dfft-2.7.5/build' Making all in sample make[2]: Entering directory /home/latish/btp/p3dfft-2.7.5/sample' Making all in FORTRAN make[3]: Entering directory/home/latish/btp/p3dfft-2.7.5/sample/FORTRAN' make[3]: Nothing to be done for all'. make[3]: Leaving directory/home/latish/btp/p3dfft-2.7.5/sample/FORTRAN' Making all in C make[3]: Entering directory /home/latish/btp/p3dfft-2.7.5/sample/C' mpicc -g -O2 -lm -lmpi_f90 -lmpi_f77 -o test_sine_inplace_c.x driver_sine_inplace.o ../../build/libp3dfft.a /usr/local//lib/libfftw3.a -lgfortran -lmpichf90 /usr/bin/ld: /usr/local//lib/libfftw3.a(trig.o): undefined reference to symbol 'sincos@@GLIBC_2.2.5' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libm.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: *** [test_sine_inplace_c.x] Error 1 make[3]: Leaving directory/home/latish/btp/p3dfft-2.7.5/sample/C' make[2]: [all-recursive] Error 1 make[2]: Leaving directory `/home/latish/btp/p3dfft-2.7.5/sample' make[1]: [all-recursive] Error 1 make[1]: Leaving directory /home/latish/btp/p3dfft-2.7.5' make: *** [all] Error 2

dmitrypek commented 7 years ago

Hi, I think there is some problem with the libmath, the C math library. This error comes when FFTW tries to link the math library. You might want to make sure the math library is OK - are you able to link it with other codes? In any case, you are getting this error during building the C example programs, which are not essential for the library usage. The library itself is built successfully, and so are Fortran examples. I hope this helps.

Dmitry Pekurovsky

On Fri, Aug 18, 2017 at 2:07 AM, latishpavan notifications@github.com wrote:

Hi everyone,

I am trying to install p3dfft on my Ubuntu 14.04 PC. I am facing problem when I am running 'make'. I think I am not configuring it properly. Can someone give me the correct command for running configure script. I am using GNU C compiler and FFTW as support library. I am getting the following error

latish@latish-Aspire-E5-573G:~/btp/p3dfft-2.7.5$ make make all-recursive make[1]: Entering directory/home/latish/btp/p3dfft-2.7.5' Making all in build make[2]: Entering directory /home/latish/btp/p3dfft-2.7.5/build' make[2]: [all-local] Error 1 (ignored) make[2]: Leaving directory/home/latish/btp/ p3dfft-2.7.5/build' Making all in sample make[2]: Entering directory /home/latish/btp/p3dfft-2.7.5/sample' Making all in FORTRAN make[3]: Entering directory/home/latish/btp/ p3dfft-2.7.5/sample/FORTRAN' make[3]: Nothing to be done for all'. make[3]: Leaving directory /home/latish/btp/p3dfft-2.7.5/sample/FORTRAN' Making all in C make[3]: Entering directory /home/latish/btp/p3dfft-2.7.5/sample/C' mpicc -g -O2 -lm -lmpi_f90 -lmpi_f77 -o test_sine_inplace_c.x driver_sine_inplace.o ../../build/libp3dfft.a /usr/local//lib/libfftw3.a -lgfortran -lmpichf90 /usr/bin/ld: /usr/local//lib/libfftw3.a(trig.o): undefined reference to symbol 'sincos@@GLIBC_2.2.5' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libm.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: [test_sine_inplace_c.x] Error 1 make[3]: Leaving directory/home/latish/btp/p3dfft-2.7.5/sample/C' make[2]: [all-recursive] Error 1 make[2]: Leaving directory /home/latish/btp/p3dfft-2.7.5/sample' make[1]: [all-recursive] Error 1 make[1]: Leaving directory/home/latish/btp/ p3dfft-2.7.5' make: [all] Error 2 `

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sdsc/p3dfft/issues/6, or mute the thread https://github.com/notifications/unsubscribe-auth/AK73Rr_ZiEKQdIZyXrfMNd3F2IuWnGeaks5sZVRUgaJpZM4O7Soo .

bkmgit commented 7 years ago

Commands here: https://www.p3dfft.net/install are probably close to what you need. On Fedora, something like what is below works (though it seems Ubuntu has static FFTW in the distribution, if not you will need to build from source):

dnf install openmpi openmpi-devel gcc gcc-gfortran wget www.fftw.org/fftw-3.3.6-pl2.tar.gz tar -xvf fftw-3.3.6-pl2.tar.gz cd fftw-3.3.6-pl2/ ./configure --prefix=$YOUR_FFTW_INSTALL_LOCATION --enable-static make make install cd .. git clone https://github.com/sdsc/p3dfft cd p3dfft git checkout 453f0f8 ./configure --enable-gnu --enable-fftw --with-fftw=$YOUR_FFTW_INSTALL_LOCATION --enable-openmpi --prefix=$YOUR_P3DFFT_INSTALL_LOCATION make make install