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.

Reply via email to