FFTWF_THREADS_LIB not found

Issue #75 new
Tashrif Billah created an issue

I installed FFTW following this instruction

http://www.fftw.org/fftw2_doc/fftw_6.html

I turned on --enable-threads

After make install, /usr/local/lib/libfftw3_threads.a is created. The Pyca "make install" command automatically finds the libfftw3_threads.a as FFTWD_THREADS_LIB but it can't find FFTWF_THREADS_LIB.

I also tried to specify the same thread as FFTWF_THREADS_LIB, yet no effect.

So, can you tell what ami I missing or can you tell from where are you installing FFTW library that comes with WD and WF threads?

Comments (8)

  1. Jacob Hinkle

    Hi Tashrif,

    I think you need to pass --enable-shared when building FFTW so that it builds a .so file instead of .a, then CMake should be able to pick it up.

    -Jacob

  2. Tashrif Billah reporter

    Sorry, still no hope!

    The FFTWD_LIB is found, but for some reason it doesn't find FFTWF_LIB. Also, looking at the /usr/local/lib directory, I see only one threads.a or threads.so file, not two of them.

    Thanks for your prompt response!

  3. Jacob Hinkle

    I remember sometimes I would have to build and install the single precision and then install double precision FFTW separately in order to get both versions. Try installing fftw once with --enable-float and once without.

  4. Tashrif Billah reporter

    Thanks, I think I was able to install FFTW succesfully. The [g] option showed up after discovering both libraries and I was dropped back to shell. Then, when I try 'make', the following error shows up. My question is where is it telling me to specify -fPIC flag?

    Linking CXX shared library ../../bin/libPyCA.so
    
    /opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld: /usr/local/lib/libfftw3f.a(apiplan.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
    
    /usr/local/lib/libfftw3f.a: error adding symbols: Bad value
    
    collect2: error: ld returned 1 exit status
    
    make[2]: *** [bin/libPyCA.so] Error 1
    
    make[1]: *** [Cxx/src/CMakeFiles/PyCA.dir/all] Error 2
    
    make: *** [all] Error 2
    
  5. Log in to comment