Closed stenyak closed 10 years ago
Which version of libboost are you using? It should be at least 1.46. Unfortunately on many linux distribution the default libboost version the package manager supplies is 1.33.
These are the versions:
$ apt search boost |grep "^i"
i libboost-all-dev - Boost C++ Libraries development files (ALL
i A libboost-date-time-dev - date-time libraries based on generic progr
i A libboost-date-time1.46-dev - set of date-time libraries based on generi
i A libboost-date-time1.46.1 - set of date-time libraries based on generi
i A libboost-dev - Boost C++ Libraries development files (def
i A libboost-filesystem-dev - filesystem operations in C++ (default vers
i A libboost-filesystem1.46-dev - filesystem operations (portable paths, ite
i A libboost-filesystem1.46.1 - filesystem operations (portable paths, ite
i A libboost-graph-dev - generic graph components and algorithms in
i A libboost-graph-parallel-dev - generic graph components and algorithms in
i A libboost-graph-parallel1.46-dev - generic graph components and algorithms in
i A libboost-graph-parallel1.46.1 - generic graph components and algorithms in
i A libboost-graph1.46-dev - generic graph components and algorithms in
i A libboost-graph1.46.1 - generic graph components and algorithms in
i A libboost-iostreams-dev - Boost.Iostreams Library development files
i libboost-iostreams1.42.0 - Boost.Iostreams Library
i A libboost-iostreams1.46-dev - Boost.Iostreams Library development files
i A libboost-iostreams1.46.1 - Boost.Iostreams Library
i A libboost-math-dev - Boost.Math Library development files (defa
i A libboost-math1.46-dev - Boost.Math Library development files
i A libboost-math1.46.1 - Boost.Math Library
i A libboost-mpi-dev - C++ interface to the Message Passing Inter
i A libboost-mpi-python-dev - Python interface to the Message Passing In
i A libboost-mpi1.46-dev - C++ interface to the Message Passing Inter
i A libboost-mpi1.46.1 - C++ interface to the Message Passing Inter
i A libboost-program-options-dev - program options library for C++ (default v
i A libboost-program-options1.46-de - program options library for C++
i A libboost-program-options1.46.1 - program options library for C++
i A libboost-python-dev - Boost.Python Library development files (de
i A libboost-python1.46-dev - Boost.Python Library development files
i A libboost-python1.46.1 - Boost.Python Library
i A libboost-regex-dev - regular expression library for C++ (defaul
i A libboost-regex1.46-dev - regular expression library for C++
i A libboost-regex1.46.1 - regular expression library for C++
i A libboost-serialization-dev - serialization library for C++ (default ver
i A libboost-serialization1.46-dev - serialization library for C++
i A libboost-serialization1.46.1 - serialization library for C++
i A libboost-signals-dev - managed signals and slots library for C++
i A libboost-signals1.46-dev - managed signals and slots library for C++
i A libboost-signals1.46.1 - managed signals and slots library for C++
i A libboost-system-dev - Operating system (e.g. diagnostics support
i A libboost-system1.46-dev - Operating system (e.g. diagnostics support
i A libboost-system1.46.1 - Operating system (e.g. diagnostics support
i A libboost-test-dev - components for writing and executing test
i A libboost-test1.46-dev - components for writing and executing test
i A libboost-test1.46.1 - components for writing and executing test
i A libboost-thread-dev - portable C++ multi-threading (default vers
i A libboost-thread1.46-dev - portable C++ multi-threading
i A libboost-thread1.46.1 - portable C++ multi-threading
i A libboost-wave-dev - C99/C++ preprocessor library (default vers
i A libboost-wave1.46-dev - C99/C++ preprocessor library
i A libboost-wave1.46.1 - C99/C++ preprocessor library
i libboost1.46-dev - Boost C++ Libraries development files
Ok. This version should work.... You could try the following:
If this works, this is just a workaround. I have no idea why static linking should not work. Could you please print the cmake output here, too (in addition to the make output)?
Changing to FALSE worked perfectly (aside from a few warnings:
[ 75%] Building CXX object CMakeFiles/c10t.dir/src/main.cpp.o
In file included from /home/stenyak/dev/c10t/src/threads/renderer.hpp:14:0,
from /home/stenyak/dev/c10t/src/main.cpp:30:
/home/stenyak/dev/c10t/src/cache.hpp: In member function ‘bool cache_file::exists()’:
/home/stenyak/dev/c10t/src/cache.hpp:46:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/home/stenyak/dev/c10t/src/cache.hpp: In member function ‘bool cache_file::read(boost::shared_ptr<image_operations>)’:
/home/stenyak/dev/c10t/src/cache.hpp:144:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
/home/stenyak/dev/c10t/src/main.cpp: In function ‘bool generate_map(std::ostream&, std::ostream&, settings_t&, boost::filesystem3::path&, boost::filesystem3::path&)’:
/home/stenyak/dev/c10t/src/main.cpp:606:48: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object [enabled by default]
When changing back to the original TRUE and running cmake, I get this in the CMakeError.log:
$ cat CMakeFiles/CMakeError.log
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/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]: *** [cmTryCompileExec] Error 1
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
make: *** [cmTryCompileExec/fast] Error 2
And this in CMakeOutput.log:
The system is: Linux - 2.6.32-5-686 - i686
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/gcc
Build flags:
Id flags:
The output was:
0
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
The C compiler identification is GNU, found in "/home/stenyak/dev/c10t/build/CMakeFiles/CompilerIdC/a.out"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/c++
Build flags:
Id flags:
The output was:
0
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
The CXX compiler identification is GNU, found in "/home/stenyak/dev/c10t/build/CMakeFiles/CompilerIdCXX/a.out"
Determining if the C compiler works passed with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o
/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTryCompileExec
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1
/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
Detecting C compiler ABI info compiled with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o
/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c
Linking C executable cmTryCompileExec
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1
/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/lto-wrapper
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib/i386-linux-gnu --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.6.1 (Debian 4.6.1-4)
COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/
LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i586'
/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/collect2 --build-id --no-add-needed --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1 -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtend.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crtn.o
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
Parsed C implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"]
ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build]
ignore line: [make[1]: Entering directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp']
ignore line: [/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1]
ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o]
ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c]
ignore line: [Linking C executable cmTryCompileExec]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1]
ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/gcc]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/lto-wrapper]
ignore line: [Target: i486-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib/i386-linux-gnu --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.6.1 (Debian 4.6.1-4) ]
ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i586']
link line: [ /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/collect2 --build-id --no-add-needed --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1 -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtend.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crtn.o]
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/collect2] ==> ignore
arg [--build-id] ==> ignore
arg [--no-add-needed] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_i386] ==> ignore
arg [--hash-style=both] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib/ld-linux.so.2] ==> ignore
arg [-o] ==> ignore
arg [cmTryCompileExec] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crt1.o] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crti.o] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtbegin.o] ==> ignore
arg [-L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1] ==> dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1]
arg [-L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../..]
arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu]
arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc]
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--no-as-needed] ==> ignore
arg [-lc] ==> lib [c]
arg [-lgcc] ==> lib [gcc]
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--no-as-needed] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtend.o] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crtn.o] ==> ignore
remove lib [gcc]
remove lib [gcc_s]
remove lib [gcc]
remove lib [gcc_s]
collapse dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1] ==> [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1]
collapse dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../..] ==> [/usr/lib/i386-linux-gnu]
collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu]
implicit libs: [c]
implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1;/usr/lib/i386-linux-gnu]
Determining if the CXX compiler works passed with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o
/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTryCompileExec
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1
/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp
Linking CXX executable cmTryCompileExec
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1
/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/lto-wrapper
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib/i386-linux-gnu --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.6.1 (Debian 4.6.1-4)
COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/
LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i586'
/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/collect2 --build-id --no-add-needed --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1 -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtend.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crtn.o
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
Parsed CXX implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"]
ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build]
ignore line: [make[1]: Entering directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp']
ignore line: [/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1]
ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Linking CXX executable cmTryCompileExec]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1]
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/lto-wrapper]
ignore line: [Target: i486-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib/i386-linux-gnu --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 4.6.1 (Debian 4.6.1-4) ]
ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/:/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i586']
link line: [ /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/collect2 --build-id --no-add-needed --eh-frame-hdr -m elf_i386 --hash-style=both -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1 -L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtend.o /usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crtn.o]
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/collect2] ==> ignore
arg [--build-id] ==> ignore
arg [--no-add-needed] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_i386] ==> ignore
arg [--hash-style=both] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib/ld-linux.so.2] ==> ignore
arg [-o] ==> ignore
arg [cmTryCompileExec] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crt1.o] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crti.o] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtbegin.o] ==> ignore
arg [-L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1] ==> dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1]
arg [-L/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../..]
arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu]
arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [-lc] ==> lib [c]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/crtend.o] ==> ignore
arg [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../../crtn.o] ==> ignore
remove lib [gcc_s]
remove lib [gcc]
remove lib [gcc_s]
remove lib [gcc]
collapse dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1] ==> [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1]
collapse dir [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1/../../..] ==> [/usr/lib/i386-linux-gnu]
collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu]
implicit libs: [stdc++;m;c]
implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i486-linux-gnu/4.6.1;/usr/lib/i386-linux-gnu]
Determining if files pthread.h exist passed with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec.dir/CheckIncludeFiles.c.o
/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CheckIncludeFiles.c.o -c /home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c
Linking C executable cmTryCompileExec
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1
/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/CheckIncludeFiles.c.o -o cmTryCompileExec -rdynamic
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
Determining if the function pthread_create exists in the pthread passed with the following output:
Change Dir: /home/stenyak/dev/c10t/build/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 `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/stenyak/dev/c10t/build/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 -lpthread
make[1]: Leaving directory `/home/stenyak/dev/c10t/build/CMakeFiles/CMakeTmp'
Puhh. too much details :D Thanks for the detailed output, but the only thing I wanted to check is, if cmake says somthing like:
-- 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 -- Boost version: 1.46.0 -- Found the following Boost libraries: -- thread -- filesystem -- system
I have not read the whole output yet, but the first lines let me guess that "create_thread" is not found at all. It should be found in either "pthreads" or "pthread".
Please also check with
ls -l /usr/lib | grep pthread
If the lib is present there.
Btw.: c10t builds with dynamic linking - but does it also work?
There are boost-thread static and shared libs at /usr/lib: -rw-r--r-- 1 root root 93K Jan 4 09:04 libboost_thread.so.1.46.1 -rw-r--r-- 1 root root 158K Jan 4 09:04 libboost_thread.a lrwxrwxrwx 1 root root 25 Jan 4 09:04 libboost_thread.so -> libboost_thread.so.1.46.1 lrwxrwxrwx 1 root root 25 Jan 4 09:04 libboost_thread-mt.so -> libboost_thread.so.1.46.1 lrwxrwxrwx 1 root root 17 Jan 4 09:04 libboost_thread-mt.a -> libboost_thread.a
As for whether it works when compiled with dynamic linking, yes it does, I was able to generate a png map with it :-)
And what's about the pthread lib? Boost's thread lib depends on it. If everything works, I think they should be OK, but I wonder why static linking fails then.
Sorry, there you go: $ ls -l /usr/lib |grep -i thread -rw-r--r-- 1 root root 24K Apr 14 2009 libIlmThread.so.6.0.0 lrwxrwxrwx 1 root root 26 Apr 14 2011 libgthread-2.0.so.0 -> libgthread-2.0.so.0.2800.6 -rw-r--r-- 1 root root 14K Apr 14 2011 libgthread-2.0.so.0.2800.6 -rw-r--r-- 1 root root 214K May 29 2011 libgpgme-pthread.so.11.7.0 lrwxrwxrwx 1 root root 26 May 29 2011 libgpgme-pthread.so.11 -> libgpgme-pthread.so.11.7.0 lrwxrwxrwx 1 root root 22 Jun 25 2011 libthreadutil.so.2 -> libthreadutil.so.2.2.3 -rw-r--r-- 1 root root 30K Jun 25 2011 libthreadutil.so.2.2.3 lrwxrwxrwx 1 root root 24 Jul 20 2011 libthreadweaver.so.4 -> libthreadweaver.so.4.6.0 -rw-r--r-- 1 root root 77K Jul 20 2011 libthreadweaver.so.4.6.0 lrwxrwxrwx 1 root root 21 Aug 30 00:36 libIlmThread.so.6 -> libIlmThread.so.6.0.0 lrwxrwxrwx 1 root root 26 Dec 1 12:15 libfftw3f_threads.so.3 -> libfftw3f_threads.so.3.3.0 lrwxrwxrwx 1 root root 25 Dec 1 12:19 libfftw3_threads.so.3 -> libfftw3_threads.so.3.3.0 lrwxrwxrwx 1 root root 26 Dec 1 12:23 libfftw3l_threads.so.3 -> libfftw3l_threads.so.3.3.0 -rw-r--r-- 1 root root 23K Dec 1 12:23 libfftw3_threads.so.3.3.0 -rw-r--r-- 1 root root 23K Dec 1 12:23 libfftw3l_threads.so.3.3.0 -rw-r--r-- 1 root root 23K Dec 1 12:23 libfftw3f_threads.so.3.3.0 -rw-r--r-- 1 root root 93K Jan 4 09:04 libboost_thread.so.1.46.1 -rw-r--r-- 1 root root 158K Jan 4 09:04 libboost_thread.a lrwxrwxrwx 1 root root 25 Jan 4 09:04 libboost_thread.so -> libboost_thread.so.1.46.1 lrwxrwxrwx 1 root root 25 Jan 4 09:04 libboost_thread-mt.so -> libboost_thread.so.1.46.1 lrwxrwxrwx 1 root root 17 Jan 4 09:04 libboost_thread-mt.a -> libboost_thread.a
Okay - there is no libpthread and that's why static linking fails (I think).
Linux x86 32bit, fresh clone fails to build. If more info is needed, please let me know.