redis3m
redis3m copied to clipboard
Build Issue: pthread
Hello. For installing redis3m, I followed the following step:
- cmake CMakeList.txt
dkkim930122@dkkim930122:~/redis3m-master$ cmake CMakeLists.txt
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- unit_test_framework
-- date_time
-- regex
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dkkim930122/redis3m-master
- make As I did make, I got the following error:
[ 5%] Built target apidoc
Scanning dependencies of target redis3m
[ 10%] Building CXX object CMakeFiles/redis3m.dir/src/cluster_pool.cpp.o
[ 15%] Building CXX object CMakeFiles/redis3m.dir/src/simple_pool.cpp.o
[ 20%] Building CXX object CMakeFiles/redis3m.dir/src/connection.cpp.o
[ 25%] Building CXX object CMakeFiles/redis3m.dir/src/connection_pool.cpp.o
[ 30%] Building CXX object CMakeFiles/redis3m.dir/src/reply.cpp.o
[ 35%] Building CXX object CMakeFiles/redis3m.dir/src/utils/file.cpp.o
[ 40%] Building CXX object CMakeFiles/redis3m.dir/src/utils/logging.cpp.o
[ 45%] Building CXX object CMakeFiles/redis3m.dir/src/utils/resolv.cpp.o
[ 50%] Building CXX object CMakeFiles/redis3m.dir/src/utils/datetime.cpp.o
[ 55%] Building CXX object CMakeFiles/redis3m.dir/src/utils/crc16.cpp.o
[ 60%] Building CXX object CMakeFiles/redis3m.dir/src/utils/sha1.cpp.o
[ 65%] Building CXX object CMakeFiles/redis3m.dir/src/patterns/median_filter.cpp.o
[ 70%] Building CXX object CMakeFiles/redis3m.dir/src/patterns/script_exec.cpp.o
[ 75%] Building CXX object CMakeFiles/redis3m.dir/src/patterns/scheduler.cpp.o
[ 80%] Building CXX object CMakeFiles/redis3m.dir/datadir.cpp.o
Linking CXX shared library libredis3m.so
[ 80%] Built target redis3m
Scanning dependencies of target cluster_pool_test
[ 85%] Building CXX object CMakeFiles/cluster_pool_test.dir/tests/cluster_pool.cpp.o
Linking CXX executable cluster_pool_test
[ 85%] Built target cluster_pool_test
Scanning dependencies of target connection_pool_test
[ 90%] Building CXX object CMakeFiles/connection_pool_test.dir/tests/connection_pool.cpp.o
Linking CXX executable connection_pool_test
/usr/bin/ld: CMakeFiles/connection_pool_test.dir/tests/connection_pool.cpp.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [connection_pool_test] Error 1
make[1]: *** [CMakeFiles/connection_pool_test.dir/all] Error 2
make: *** [all] Error 2
Could you help me to solve the error? I appreciate your time and help!
I built it on a clean system and works for me. Can you please share more info about your OS and toolchain?
Hello! I appreciate your reply. My OS system is Ubuntu 14.04. My boost version is 1.54, and my gcc and g++ versions are 4.9. Thank you for your help!
Add "-lpthread" to CMAKE_CXX_FLAGS
Experienced the same issue on Ubuntu 14.04... Adding "-pthread" (somehow not "-lpthread") to CMAKE_CXX_FLAGS in my CMakeLists fixed it.