prabhatbhattarai / project-voldemort

Automatically exported from code.google.com/p/project-voldemort
Apache License 2.0
0 stars 0 forks source link

Build error: undefined reference to vtable. #385

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Ubuntu 12.04, download latest voldemort from GIT.
2. Ubuntu using libboost 1.46
3. In clients/cpp, autogen.sh, ./configure and make

What is the expected output? What do you see instead?
make should build without errors

What version of the product are you using? On what operating system?

Please provide any additional information below.

...
make[2]: Entering directory `/home/user/voldemort/clients/cpp/utils'
g++ -DHAVE_CONFIG_H -I. -I..  -I../include    -g -O2 -pthread -MT 
voldemortShell.o -MD -MP -MF .deps/voldemortShell.Tpo -c -o voldemortShell.o 
voldemortShell.cpp
mv -f .deps/voldemortShell.Tpo .deps/voldemortShell.Po
/bin/bash ../libtool --tag=CXX   --mode=link g++  -g -O2 -pthread   -o 
voldemortShell voldemortShell.o ../src/libvoldemort.la -lexpat -lprotobuf  
libtool: link: g++ -g -O2 -pthread -o .libs/voldemortShell voldemortShell.o  
../src/.libs/libvoldemort.so /usr/lib/x86_64-linux-gnu/libexpat.so -lprotobuf 
-pthread
g++ -DHAVE_CONFIG_H -I. -I..  -I../include    -g -O2 -pthread -MT stress.o -MD 
-MP -MF .deps/stress.Tpo -c -o stress.o stress.cpp
mv -f .deps/stress.Tpo .deps/stress.Po
/bin/bash ../libtool --tag=CXX   --mode=link g++  -g -O2 -pthread   -o stress 
stress.o ../src/libvoldemort.la -lexpat -lprotobuf  
libtool: link: g++ -g -O2 -pthread -o .libs/stress stress.o  
../src/.libs/libvoldemort.so /usr/lib/x86_64-linux-gnu/libexpat.so -lprotobuf 
-pthread
/usr/bin/ld: stress.o: undefined reference to symbol 'vtable for 
boost::detail::thread_data_base'
/usr/bin/ld: note: 'vtable for boost::detail::thread_data_base' is defined in 
DSO /usr/lib/libboost_thread.so.1.46.1 so try adding it to the linker command 
line
/usr/lib/libboost_thread.so.1.46.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[2]: *** [stress] Error 1
make[2]: Leaving directory `/home/user/voldemort/clients/cpp/utils'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/voldemort/clients/cpp'
make: *** [all] Error 2
~/voldemort/clients/cpp$

Original issue reported on code.google.com by jucharle...@gmail.com on 22 Aug 2012 at 4:14