redis3m icon indicating copy to clipboard operation
redis3m copied to clipboard

Build Issue: pthread

Open ghost opened this issue 9 years ago • 4 comments

Hello. For installing redis3m, I followed the following step:

  1. 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
  1. 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!

ghost avatar Mar 25 '15 09:03 ghost

I built it on a clean system and works for me. Can you please share more info about your OS and toolchain?

luca3m avatar Mar 26 '15 18:03 luca3m

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!

ghost avatar Mar 27 '15 07:03 ghost

Add "-lpthread" to CMAKE_CXX_FLAGS

typcn avatar May 02 '15 02:05 typcn

Experienced the same issue on Ubuntu 14.04... Adding "-pthread" (somehow not "-lpthread") to CMAKE_CXX_FLAGS in my CMakeLists fixed it.

chaseholland avatar May 11 '15 21:05 chaseholland