Hi Jarv, this is one of these shared vs static linking issues. There are several solutions: -if you have a shared version of fftw, specify it by hand -DFFTW3_LIBRARY='/path/to/libfftw3.so' -add libm.so to FFTW3_LIBRARY by -DFFTW3_LIBRARY='/path/to/libfftw3.a;/path/to/libm.a' -build/install a shared version of fftw (configure with --enable-shared) -build votca tools statically -DBUILD_SHARED_LIBS=OFF
Cheers, Christoph 2011/8/25 Jarv <[email protected]>: > Dear Votca users, > > I am attempting to compile the Votca with the build system, and it > fails very early on during the basic compiler tests. I am on a 64 bit > Ubuntu 10.04, running cmake 2.8.0 . > > For simplicity, I show the most simple case where I try and build the > tools only starting with a bare directory: > > jarvist@james10uc:~/votca$ ./build -d tools > This is VOTCA build, version 1.7.2 > Install prefix is '/home/jarvist/votca' > Using 3 jobs for make > Working on tools > Doing checkout for tools from https://tools.votca.googlecode.com/hg/ > (CTRL-C to stop) 5 4 3 2 1 > requesting all changes > adding changesets > adding manifests > adding file changes > added 481 changesets with 2613 changes to 1678 files (+3 heads) > updating to branch default > 1460 files updated, 0 files merged, 0 files removed, 0 files > unresolved > cmake -DCMAKE_INSTALL_PREFIX=/home/jarvist/votca - > DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON . > -- The C compiler identification is GNU > -- The CXX compiler identification is GNU > -- Check for working C compiler: /usr/bin/gcc > -- Check for working C compiler: /usr/bin/gcc -- works > -- Detecting C compiler ABI info > -- Detecting C compiler ABI info - done > -- Check for working CXX compiler: /usr/bin/c++ > -- Check for working CXX compiler: /usr/bin/c++ -- works > -- Detecting CXX compiler ABI info > -- Detecting CXX compiler ABI info - done > -- Looking for include files CMAKE_HAVE_PTHREAD_H > -- Looking for include files CMAKE_HAVE_PTHREAD_H - found > -- Looking for pthread_create in pthreads > -- Looking for pthread_create in pthreads - not found > -- Looking for pthread_create in pthread > -- Looking for pthread_create in pthread - found > -- Found Threads: TRUE > -- Found TXT2TAGS: /usr/bin/txt2tags > -- Looking for assert.h > -- Looking for assert.h - found > -- Looking for math.h > -- Looking for math.h - found > -- Looking for stdio.h > -- Looking for stdio.h - found > -- Looking for stdlib.h > -- Looking for stdlib.h - found > -- Looking for string.h > -- Looking for string.h - found > -- Looking for C++ include cmath > -- Looking for C++ include cmath - found > -- Looking for C++ include fstream > -- Looking for C++ include fstream - found > -- Looking for C++ include functional > -- Looking for C++ include functional - found > -- Looking for C++ include iostream > -- Looking for C++ include iostream - found > -- Looking for C++ include limits > -- Looking for C++ include limits - found > -- Looking for C++ include list > -- Looking for C++ include list - found > -- Looking for C++ include map > -- Looking for C++ include map - found > -- Looking for C++ include ostream > -- Looking for C++ include ostream - found > -- Looking for C++ include sstream > -- Looking for C++ include sstream - found > -- Looking for C++ include stack > -- Looking for C++ include stack - found > -- Looking for C++ include stdexcept > -- Looking for C++ include stdexcept - found > -- Looking for C++ include string > -- Looking for C++ include string - found > -- Looking for C++ include vector > -- Looking for C++ include vector - found > -- Looking for sqrt in m > -- Looking for sqrt in m - found > -- Boost version: 1.40.0 > -- Found the following Boost libraries: > -- program_options > -- Found EXPAT: /usr/lib/libexpat.so > -- checking for module 'fftw3' > -- found fftw3, version 3.1.2 > -- Found FFTW3: /usr/local/lib/libfftw3.a > -- Looking for fftw_plan_r2r_1d in /usr/local/lib/libfftw3.a > -- Looking for fftw_plan_r2r_1d in /usr/local/lib/libfftw3.a - not > found > CMake Error at CMakeModules/FindFFTW3.cmake:43 (message): > Could not find fftw_plan_r2r_1d in /usr/local/lib/libfftw3.a, take a > look > at the error message in /home/jarvist/votca/tools/CMakeFiles/ > CMakeError.log > to find out what was going wrong. If you don't have pkg-config > installed > you will most likely have to set FFTW3_LIBRARY by hand (i.e. > -DFFTW3_LIBRARY='/path/to/libfftw3.so') ! > Call Stack (most recent call first): > src/libtools/CMakeLists.txt:11 (find_package) > > -- Configuring incomplete, errors occurred! > > The CMakeError.log is as follows: > > jarvist@james10uc:~/votca$ cat tools/CMakeFiles/CMakeError.log > Determining if the function pthread_create exists in the pthreads > failed with the following output: > Change Dir: /home/jarvist/votca/tools/CMakeFiles/CMakeTmp > > Run Build Command:/usr/bin/make "cmTryCompileExec/fast" > /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/ > cmTryCompileExec.dir/build > make[1]: Entering directory `/media/oldroot/home/jarvist/votca/tools/ > CMakeFiles/CMakeTmp' > /usr/bin/cmake -E cmake_progress_report /home/jarvist/votca/tools/ > CMakeFiles/CMakeTmp/CMakeFiles 1 > Building C object CMakeFiles/cmTryCompileExec.dir/ > CheckFunctionExists.c.o > /usr/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/ > cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/ > Modules/CheckFunctionExists.c > Linking C executable cmTryCompileExec > /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/ > link.txt --verbose=1 > /usr/bin/gcc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/ > cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec - > rdynamic -lpthreads > /usr/bin/ld: cannot find -lpthreads > collect2: ld returned 1 exit status > make[1]: Leaving directory `/media/oldroot/home/jarvist/votca/tools/ > CMakeFiles/CMakeTmp' > make[1]: *** [cmTryCompileExec] Error 1 > make: *** [cmTryCompileExec/fast] Error 2 > > > Determining if the function fftw_plan_r2r_1d exists in the /usr/local/ > lib/libfftw3.a failed with the following output: > Change Dir: /home/jarvist/votca/tools/CMakeFiles/CMakeTmp > > Run Build Command:/usr/bin/make "cmTryCompileExec/fast" > /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/ > cmTryCompileExec.dir/build > make[1]: Entering directory `/media/oldroot/home/jarvist/votca/tools/ > CMakeFiles/CMakeTmp' > /usr/bin/cmake -E cmake_progress_report /home/jarvist/votca/tools/ > CMakeFiles/CMakeTmp/CMakeFiles 1 > Building C object CMakeFiles/cmTryCompileExec.dir/ > CheckFunctionExists.c.o > /usr/bin/gcc -DCHECK_FUNCTION_EXISTS=fftw_plan_r2r_1d -o > CMakeFiles/cmTryCompileExec.dir/CheckFunctionExists.c.o -c /usr/ > share/cmake-2.8/Modules/CheckFunctionExists.c > Linking C executable cmTryCompileExec > /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/ > link.txt --verbose=1 > /usr/bin/gcc -DCHECK_FUNCTION_EXISTS=fftw_plan_r2r_1d CMakeFiles/ > cmTryCompileExec.dir/CheckFunctionExists.c.o -o cmTryCompileExec - > rdynamic /usr/local/lib/libfftw3.a > /usr/local/lib/libfftw3.a(mapflags.o): In function `fftw_mapflags': > mapflags.c:(.text+0x29c): undefined reference to `log' > mapflags.c:(.text+0x2b4): undefined reference to `log' > /usr/local/lib/libfftw3.a(trig.o): In function `cexpl_sincos': > trig.c:(.text+0x23e): undefined reference to `cos' > trig.c:(.text+0x256): undefined reference to `sin' > /usr/local/lib/libfftw3.a(trig.o): In function `fftw_mktriggen': > trig.c:(.text+0x47b): undefined reference to `cos' > trig.c:(.text+0x493): undefined reference to `sin' > trig.c:(.text+0x5a7): undefined reference to `cos' > trig.c:(.text+0x5bf): undefined reference to `sin' > collect2: ld returned 1 exit status > make[1]: *** [cmTryCompileExec] Error 1 > make[1]: Leaving directory `/media/oldroot/home/jarvist/votca/tools/ > CMakeFiles/CMakeTmp' > make: *** [cmTryCompileExec/fast] Error 2 > > - > For some reason it is not attempting to link in the libm maths library > with -lm ? > > Yet, pkg-config replies: > jarvist@james10uc:~/votca$ pkg-config --libs fftw3 > -L/usr/local/lib -lfftw3 -lm > > Any ideas? > > Best, > > Jarv > > -- > You received this message because you are subscribed to the Google Groups > "votca" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/votca?hl=en. > > -- Dr. Christoph Junghans Votca Core Developer Web: http://www.votca.org -- You received this message because you are subscribed to the Google Groups "votca" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/votca?hl=en.
