Building Hypertable

15 views
Skip to first unread message

linuxdude

unread,
Nov 12, 2008, 11:52:09 AM11/12/08
to Hypertable User
I am trying to build hypertable and I have successfully configured it
using cmake. However, when I make hypertable, I receive a linking
error, complaining about undefined references to
boost::program_options. cmake successfully found boost, but the
linking command, doesn't seem to link with boost.
Thanks,
Michael


$/usr/bin/c++ -g -fPIC CMakeFiles/code_search_and_replace.dir/
code_search_and_replace.o -o code_search_and_replace -rdynamic
libHyperCommon.a /work/mmicel2/log4cpp/lib/liblog4cpp.so -lz -lpthread
-Wl,-rpath,/work/mmicel2/log4cpp/lib


/work/mmicel2/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/home/mmicel2/
hypertable/hypertable-0.9.0.12-alpha/build /home/mmicel2/hypertable/
hypertable-0.9.0.12-alpha -DHADOOP_INCLUDE_PATH=/home/mmicel2/hadoop/
hadoop-0.18.1/ -DHADOOP_LIB_PATH=/home/mmicel2/hadoop/hadoop-0.18.1/ -
DCMAKE_VERBOSE_MAKEFILE=TRUE
-- 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
-- Use thread library: -lpthread
-- Found ZLIB: /usr/lib64/libz.so
-- Boost version: 1.37.0
-- Found the following Boost libraries:
-- Found Log4cpp: /work/mmicel2/log4cpp/lib/liblog4cpp.so
-- Found EXPAT: /usr/lib64/libexpat.so
-- Looking for doxygen...
-- Looking for doxygen... - found /usr/bin/doxygen
-- Looking for dot tool...
-- Looking for dot tool... - NOT found
-- Not Found Tcmalloc: Tcmalloc_LIBRARY-NOTFOUND
-- /work/mmicel2/db/include
-- /work/mmicel2/db/lib/libdb_cxx.so
-- Found BerkeleyDB: /work/mmicel2/db/lib/libdb_cxx.so
-- Berkeley DB version: 4.7.25
-- Found Readline libraries: /usr/lib64/libreadline.so;/usr/lib64/
libncurses.so
-- Found PythonLibs: /usr/lib64/python2.3/config/libpython2.3.a
-- Java headers found at: /work/mmicel2/jdk1.6.0_07/include
-- Hadoop includes located at: /home/mmicel2/hadoop/hadoop-0.18.1/
-- Hadoop libraries located at: /home/mmicel2/hadoop/hadoop-0.18.1/
-- You decided not to build shared libraries. MapReduce will be
disabled
-- MapReduce support disabled.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mmicel2/hypertable/
hypertable-0.9.0.12-alpha/build

Doug Judd

unread,
Nov 14, 2008, 1:52:19 PM11/14/08
to hyperta...@googlegroups.com
Hypertable is dependent on the boost program_options library.  You need to be sure that library is installed on your system.  How did you install boost?

Our FindBoost.cmake script should complain about not finding the program_options library.  I'll file an issue for that.

- Doug

Doug Judd

unread,
Nov 14, 2008, 2:02:29 PM11/14/08
to hyperta...@googlegroups.com
Hmm..  It looks like the script does look for boost program_options.  I'm assuming you're running on a Linux system.  Can you run the following program to be sure the directory in which boost was installed is known to the dynamic linker:

ldconfig -p | grep boost

It should display a bunch of boost libraries, including libboost_program_options.  If it doesn't show up, you'll have to add a file to the /etc/ld.so.conf.d directory called something like libboost.conf, that contains the name of the directory where the boost libraries were installed.  You'll then need to run ldconfig again with no arguments to have it re-build its cache.

- Doug

linuxdude

unread,
Nov 15, 2008, 11:59:02 AM11/15/08
to Hypertable User
It does show up when I run ldconfig. here is my output.
libboost_wserialization.so.1 (libc6,x86-64) => /usr/lib64/
libboost_wserialization.so.1
libboost_wserialization.so.1 (libc6) => /usr/lib/
libboost_wserialization.so.1
libboost_wserialization.so (libc6,x86-64) => /usr/lib64/
libboost_wserialization.so
libboost_wserialization.so (libc6) => /usr/lib/
libboost_wserialization.so
libboost_unit_test_framework.so.1 (libc6,x86-64) => /usr/lib64/
libboost_unit_test_framework.so.1
libboost_unit_test_framework.so.1 (libc6) => /usr/lib/
libboost_unit_test_framework.so.1
libboost_unit_test_framework.so (libc6,x86-64) => /usr/lib64/
libboost_unit_test_framework.so
libboost_unit_test_framework.so (libc6) => /usr/lib/
libboost_unit_test_framework.so
libboost_thread.so.1 (libc6,x86-64) => /usr/lib64/
libboost_thread.so.1
libboost_thread.so.1 (libc6) => /usr/lib/libboost_thread.so.1
libboost_thread.so (libc6,x86-64) => /usr/lib64/
libboost_thread.so
libboost_thread.so (libc6) => /usr/lib/libboost_thread.so
libboost_test_exec_monitor.so.1 (libc6,x86-64) => /usr/lib64/
libboost_test_exec_monitor.so.1
libboost_test_exec_monitor.so.1 (libc6) => /usr/lib/
libboost_test_exec_monitor.so.1
libboost_test_exec_monitor.so (libc6,x86-64) => /usr/lib64/
libboost_test_exec_monitor.so
libboost_test_exec_monitor.so (libc6) => /usr/lib/
libboost_test_exec_monitor.so
libboost_signals.so.1 (libc6,x86-64) => /usr/lib64/
libboost_signals.so.1
libboost_signals.so.1 (libc6) => /usr/lib/libboost_signals.so.
1
libboost_signals.so (libc6,x86-64) => /usr/lib64/
libboost_signals.so
libboost_signals.so (libc6) => /usr/lib/libboost_signals.so
libboost_serialization.so.1 (libc6,x86-64) => /usr/lib64/
libboost_serialization.so.1
libboost_serialization.so.1 (libc6) => /usr/lib/
libboost_serialization.so.1
libboost_serialization.so (libc6,x86-64) => /usr/lib64/
libboost_serialization.so
libboost_serialization.so (libc6) => /usr/lib/
libboost_serialization.so
libboost_regex.so.1 (libc6,x86-64) => /usr/lib64/
libboost_regex.so.1
libboost_regex.so.1 (libc6) => /usr/lib/libboost_regex.so.1
libboost_regex.so (libc6,x86-64) => /usr/lib64/
libboost_regex.so
libboost_regex.so (libc6) => /usr/lib/libboost_regex.so
libboost_python.so.1 (libc6,x86-64) => /usr/lib64/
libboost_python.so.1
libboost_python.so.1 (libc6) => /usr/lib/libboost_python.so.1
libboost_python.so (libc6,x86-64) => /usr/lib64/
libboost_python.so
libboost_python.so (libc6) => /usr/lib/libboost_python.so
libboost_program_options.so.1 (libc6,x86-64) => /usr/lib64/
libboost_program_options.so.1
libboost_program_options.so.1 (libc6) => /usr/lib/
libboost_program_options.so.1
libboost_program_options.so (libc6,x86-64) => /usr/lib64/
libboost_program_options.so
libboost_program_options.so (libc6) => /usr/lib/
libboost_program_options.so
libboost_prg_exec_monitor.so.1 (libc6,x86-64) => /usr/lib64/
libboost_prg_exec_monitor.so.1
libboost_prg_exec_monitor.so.1 (libc6) => /usr/lib/
libboost_prg_exec_monitor.so.1
libboost_prg_exec_monitor.so (libc6,x86-64) => /usr/lib64/
libboost_prg_exec_monitor.so
libboost_prg_exec_monitor.so (libc6) => /usr/lib/
libboost_prg_exec_monitor.so
libboost_filesystem.so.1 (libc6,x86-64) => /usr/lib64/
libboost_filesystem.so.1
libboost_filesystem.so.1 (libc6) => /usr/lib/
libboost_filesystem.so.1
libboost_filesystem.so (libc6,x86-64) => /usr/lib64/
libboost_filesystem.so
libboost_filesystem.so (libc6) => /usr/lib/
libboost_filesystem.so
libboost_date_time.so.1 (libc6,x86-64) => /usr/lib64/
libboost_date_time.so.1
libboost_date_time.so.1 (libc6) => /usr/lib/
libboost_date_time.so.1
libboost_date_time.so (libc6,x86-64) => /usr/lib64/
libboost_date_time.so
libboost_date_time.so (libc6) => /usr/lib/
libboost_date_time.so

What else could be causing this problem?

On Nov 14, 1:02 pm, "Doug Judd" <d...@zvents.com> wrote:
> Hmm..  It looks like the script does look for boost program_options.  I'm
> assuming you're running on a Linux system.  Can you run the following
> program to be sure the directory in which boost was installed is known to
> the dynamic linker:
>
> ldconfig -p | grep boost
>
> It should display a bunch of boost libraries, including
> libboost_program_options.  If it doesn't show up, you'll have to add a file
> to the /etc/ld.so.conf.d directory called something like libboost.conf, that
> contains the name of the directory where the boost libraries were
> installed.  You'll then need to run ldconfig again with no arguments to have
> it re-build its cache.
>
> - Doug
>
> On Fri, Nov 14, 2008 at 10:52 AM, Doug Judd <d...@zvents.com> wrote:
> > Hypertable is dependent on the boost program_options library.  You need to
> > be sure that library is installed on your system.  How did you install
> > boost?
>
> > Our FindBoost.cmake script should complain about not finding the
> > program_options library.  I'll file an issue for that.
>
> > - Doug
>

Doug Judd

unread,
Nov 15, 2008, 12:41:43 PM11/15/08
to hyperta...@googlegroups.com
Try building with: make VERBOSE=1

Take a look at the full link line that is failing.  That should give you a clue as to what's going on.  Feel free to post it is not obvious why it is failing.

- Doug

linuxdude

unread,
Nov 16, 2008, 5:03:41 PM11/16/08
to Hypertable User
Sorry for the trouble, but I'm not sure why it isn't building. It
doesn't seem to find boost_program_options does the g++ command requre
something -lboost_program_options or something? here is the output of
the failing part of make VERBOSE=1

make[2]: Entering directory `/home/mmicel2/hypertable/
hypertable-0.9.0.12-alpha/build'
Linking CXX executable code_search_and_replace
cd /home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/build/src/cc/
Common && /work/mmicel2/cmake/bin/cmake -E cmake_link_script
CMakeFiles/code_search_and_replace.dir/link.txt --verbose=1
/usr/bin/c++ -g -fPIC CMakeFiles/code_search_and_replace.dir/
code_search_and_replace.o -o code_search_and_replace -rdynamic
libHyperCommon.a /work/mmicel2/log4cpp/lib/liblog4cpp.so -lz -lpthread
-Wl,-rpath,/work/mmicel2/log4cpp/lib
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x21d): In function `main':
/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/Common/
code_search_and_replace.cc:80: undefined reference to
`boost::program_options::options_description::m_default_line_length'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x222):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:80: undefined reference to
`boost::program_options::options_description::options_description
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned int)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x2e1):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:81: undefined reference to
`boost::program_options::options_description::add_options()'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x2fe):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:81: undefined reference to
`boost::program_options::options_description_easy_init::operator()
(char const*, char const*)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x317):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:81: undefined reference to
`boost::program_options::options_description_easy_init::operator()
(char const*, boost::program_options::value_semantic const*, char
const*)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x330):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:81: undefined reference to
`boost::program_options::options_description_easy_init::operator()
(char const*, boost::program_options::value_semantic const*, char
const*)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x349):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:81: undefined reference to
`boost::program_options::options_description_easy_init::operator()
(char const*, boost::program_options::value_semantic const*, char
const*)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x381):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:89: undefined reference to
`boost::program_options::options_description::m_default_line_length'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x386):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:89: undefined reference to
`boost::program_options::options_description::options_description
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned int)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x42d):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:90: undefined reference to
`boost::program_options::options_description::add_options()'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x451):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:90: undefined reference to
`boost::program_options::options_description_easy_init::operator()
(char const*, boost::program_options::value_semantic const*, char
const*)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x45e):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:94: undefined reference to
`boost::program_options::options_description::m_default_line_length'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x463):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:94: undefined reference to
`boost::program_options::options_description::options_description
(unsigned int)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x476):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:95: undefined reference to
`boost::program_options::options_description::add
(boost::program_options::options_description const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x485):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:95: undefined reference to
`boost::program_options::options_description::add
(boost::program_options::options_description const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x491):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:97: undefined reference to
`boost::program_options::positional_options_description::positional_options_description
()'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x4a7):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:98: undefined reference to
`boost::program_options::positional_options_description::add(char
const*, int)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x4b3):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:100: undefined reference to
`boost::program_options::variables_map::variables_map()'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x51d):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:101: undefined reference to
`boost::program_options::store
(boost::program_options::basic_parsed_options<char> const&,
boost::program_options::variables_map&, bool)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x5b8):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:103: undefined reference to
`boost::program_options::notify
(boost::program_options::variables_map&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o(.text
+0x7fd):/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/
Common/code_search_and_replace.cc:106: undefined reference to
`boost::program_options::operator<<(std::basic_ostream<char,
std::char_traits<char> >&, boost::program_options::options_description
const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZNK5boost15program_options13variables_mapixERKSs
+0x19): In function `boost::program_options::variables_map::operator[]
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&) const':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/
variables_map.hpp:149: undefined reference to
`boost::program_options::abstract_variables_map::operator[]
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&) const'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options13variables_mapD1Ev+0x12):
In function `boost::program_options::variables_map::~variables_map()':
/home/mmicel2/hypertable/hypertable-0.9.0.12-alpha/src/cc/Common/
code_search_and_replace.cc:100: undefined reference to `vtable for
boost::program_options::variables_map'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options25basic_command_line_parserIcEC1EiPPc
+0x96): In function
`boost::program_options::basic_command_line_parser<char>::basic_command_line_parser
(int, char**)':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
parsers.hpp:42: undefined reference to
`boost::program_options::detail::cmdline::cmdline
(std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options25basic_command_line_parserIcE7optionsERKNS0_19options_descriptionE
+0x19): In function
`boost::program_options::basic_command_line_parser<char>::options
(boost::program_options::options_description const&)':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
parsers.hpp:49: undefined reference to
`boost::program_options::detail::cmdline::set_options_description
(boost::program_options::options_description const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options25basic_command_line_parserIcE10positionalERKNS0_30positional_options_descriptionE
+0x19): In function
`boost::program_options::basic_command_line_parser<char>::positional
(boost::program_options::positional_options_description const&)':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
parsers.hpp:59: undefined reference to
`boost::program_options::detail::cmdline::set_positional_options
(boost::program_options::positional_options_description const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options25basic_command_line_parserIcE3runEv
+0x2b): In function
`boost::program_options::basic_command_line_parser<char>::run()':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
parsers.hpp:102: undefined reference to
`boost::program_options::detail::cmdline::run()'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options11to_internalISsEESt6vectorISsSaISsEERKS2_IT_SaIS5_EE
+0x89): In function `std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >
boost::program_options::to_internal<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >
(std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&)':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
convert.hpp:79: undefined reference to
`boost::program_options::to_internal(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options29value_semantic_codecvt_helperIcED2Ev
+0x11): In function
`boost::program_options::value_semantic_codecvt_helper<char>::~value_semantic_codecvt_helper
()':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/
value_semantic.hpp:126: undefined reference to `vtable for
boost::program_options::value_semantic_codecvt_helper<char>'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options29value_semantic_codecvt_helperIcEC2Ev
+0x1a): In function
`boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper
()':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/
value_semantic.hpp:126: undefined reference to `vtable for
boost::program_options::value_semantic_codecvt_helper<char>'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTVN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE
+0x30): undefined reference to
`boost::program_options::value_semantic_codecvt_helper<char>::parse
(boost::any&, std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > const&, bool) const'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTVN5boost15program_options11typed_valueISscEE
+0x30): undefined reference to
`boost::program_options::value_semantic_codecvt_helper<char>::parse
(boost::any&, std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > const&, bool) const'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTIN5boost15program_options11typed_valueISscEE
+0x18): undefined reference to `typeinfo for
boost::program_options::value_semantic_codecvt_helper<char>'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTIN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE
+0x18): undefined reference to `typeinfo for
boost::program_options::value_semantic_codecvt_helper<char>'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv
+0x1ab): In function
`boost::program_options::typed_value<std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >, char>::name() const':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:26: undefined reference to
`boost::program_options::arg'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv
+0x224):/work/mmicel2/boost/include/boost-1_37/boost/program_options/
detail/value_semantic.hpp:28: undefined reference to
`boost::program_options::arg'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISscE4nameEv
+0x1ab): In function
`boost::program_options::typed_value<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, char>::name() const':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:26: undefined reference to
`boost::program_options::arg'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISscE4nameEv
+0x224):/work/mmicel2/boost/include/boost-1_37/boost/program_options/
detail/value_semantic.hpp:28: undefined reference to
`boost::program_options::arg'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE
+0x58): In function
`boost::program_options::typed_value<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, char>::xparse
(boost::any&, std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > const&) const':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:170: undefined reference to
`boost::program_options::validate(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>*, int)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi
+0x1bf): In function `void
boost::program_options::validate<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, char>(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >*, int)':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:149: undefined reference to
`boost::program_options::validate(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char>
>*, int)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi
+0x2ed):/work/mmicel2/boost/include/boost-1_37/boost/program_options/
detail/value_semantic.hpp:153: undefined reference to
`boost::program_options::invalid_option_value::invalid_option_value
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options16validation_errorD2Ev
+0x14): In function
`boost::program_options::validation_error::~validation_error()':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/
errors.hpp:83: undefined reference to `vtable for
boost::program_options::validation_error'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.t._ZN5boost15program_options16validation_errorC2ERKS1_
+0x23): In function
`boost::program_options::validation_error::validation_error
(boost::program_options::validation_error const&)':
/work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:153: undefined reference to `vtable for
boost::program_options::validation_error'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE
+0x20): undefined reference to
`boost::program_options::validation_error::what() const'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE
+0x20): undefined reference to
`boost::program_options::validation_error::what() const'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTVN5boost15program_options20invalid_option_valueE
+0x20): undefined reference to
`boost::program_options::validation_error::what() const'
CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
(.gnu.linkonce.r._ZTIN5boost15program_options20invalid_option_valueE
+0x10): undefined reference to `typeinfo for
boost::program_options::validation_error'
libHyperCommon.a(System.o)
(.gnu.linkonce.t._ZN5boost11unique_lockINS_5mutexEE4lockEv+0x2d): In
function `boost::unique_lock<boost::mutex>::lock()':
/work/mmicel2/boost/include/boost-1_37/boost/thread/locks.hpp:336:
undefined reference to `boost::lock_error::lock_error()'
libHyperCommon.a(System.o)
(.gnu.linkonce.t._ZN5boost11unique_lockINS_5mutexEE4lockEv+0x52):/work/
mmicel2/boost/include/boost-1_37/boost/thread/locks.hpp:336: undefined
reference to `boost::lock_error::~lock_error()'
libHyperCommon.a(System.o)
(.gnu.linkonce.t._ZN5boost11unique_lockINS_5mutexEE4lockEv+0x57):/work/
mmicel2/boost/include/boost-1_37/boost/thread/locks.hpp:336: undefined
reference to `typeinfo for boost::lock_error'
libHyperCommon.a(System.o)(.gnu.linkonce.t._ZN5boost5mutexC1Ev+0x40):
In function `boost::mutex::mutex()':
/work/mmicel2/boost/include/boost-1_37/boost/thread/pthread/mutex.hpp:
40: undefined reference to
`boost::thread_resource_error::thread_resource_error()'
libHyperCommon.a(System.o)(.gnu.linkonce.t._ZN5boost5mutexC1Ev+0x5e):/
work/mmicel2/boost/include/boost-1_37/boost/thread/pthread/mutex.hpp:
40: undefined reference to
`boost::thread_resource_error::~thread_resource_error()'
libHyperCommon.a(System.o)(.gnu.linkonce.t._ZN5boost5mutexC1Ev+0x63):/
work/mmicel2/boost/include/boost-1_37/boost/thread/pthread/mutex.hpp:
40: undefined reference to `typeinfo for boost::thread_resource_error'
collect2: ld returned 1 exit status
make[2]: *** [src/cc/Common/code_search_and_replace] Error 1
make[2]: Leaving directory `/home/mmicel2/hypertable/
hypertable-0.9.0.12-alpha/build'
make[1]: *** [src/cc/Common/CMakeFiles/code_search_and_replace.dir/
all] Error 2
make[1]: Leaving directory `/home/mmicel2/hypertable/
hypertable-0.9.0.12-alpha/build'
make: *** [all] Error 2


On Nov 15, 11:41 am, "Doug Judd" <d...@zvents.com> wrote:
> Try building with: make VERBOSE=1
>
> Take a look at the full link line that is failing.  That should give you a
> clue as to what's going on.  Feel free to post it is not obvious why it is
> failing.
>
> - Doug
>

amaltas

unread,
Jan 4, 2009, 9:09:56 AM1/4/09
to Hypertable User
I am getting the same error.
[amaltas@node2 build]$ sudo make
Buildfile: build.xml

prepare:

compile:

jar:

BUILD SUCCESSFUL
Total time: 0 seconds
[ 0%] Built target HypertableJavaComponents
[ 5%] Built target HyperCommon
[ 6%] Built target code_search_and_replace
[ 6%] Built target exception_test
[ 6%] Built target ht_checksum
[ 7%] Built target inetaddr_test
[ 7%] Built target logging_test
[ 7%] Built target mutex_test
[ 8%] Built target pagearena_test
Linking CXX executable properties_test
CMakeFiles/properties_test.dir/tests/properties_test.o: In function
`boost::program_options::typed_value<std::vector<long,
std::allocator<long> >, char>::xparse(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&) const':
/usr/local/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:170: undefined reference to `void
boost::program_options::validate<long>(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&,
std::vector<long, std::allocator<long> >*, int)'
CMakeFiles/properties_test.dir/tests/properties_test.o: In function
`boost::program_options::typed_value<std::vector<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::allocator<std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >, char>::xparse(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&) const':
/usr/local/include/boost-1_37/boost/program_options/detail/
value_semantic.hpp:170: undefined reference to `void
boost::program_options::validate<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >(boost::any&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > const&,
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >*, int)'
collect2: ld returned 1 exit status
make[2]: *** [src/cc/Common/properties_test] Error 1
make[1]: *** [src/cc/Common/CMakeFiles/properties_test.dir/all] Error
2
make: *** [all] Error 2

> /work/mmicel2/boost/include/boost-1_37/boost/program_options/value_semantic.hpp:126: undefined reference to `vtable for
> boost::program_options::value_semantic_codecvt_helper<char>'
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZN5boost15program_options29value_semantic_codecvt_helperIcEC2Ev
> +0x1a): In function
> `boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper
> ()':
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/value_semantic.hpp:126: undefined reference to `vtable for
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/value_semantic.hpp:26: undefined reference to
> `boost::program_options::arg'
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISt6vectorISsSaISsEEcE4nameEv
> +0x224):/work/mmicel2/boost/include/boost-1_37/boost/program_options/
> detail/value_semantic.hpp:28: undefined reference to
> `boost::program_options::arg'
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISscE4nameEv
> +0x1ab): In function
> `boost::program_options::typed_value<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, char>::name() const':
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/value_semantic.hpp:26: undefined reference to
> `boost::program_options::arg'
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISscE4nameEv
> +0x224):/work/mmicel2/boost/include/boost-1_37/boost/program_options/
> detail/value_semantic.hpp:28: undefined reference to
> `boost::program_options::arg'
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZNK5boost15program_options11typed_valueISscE6xparseERNS_3anyERKSt6vectorISsSaISsEE
> +0x58): In function
> `boost::program_options::typed_value<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, char>::xparse
> (boost::any&, std::vector<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > > const&) const':
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/value_semantic.hpp:170: undefined reference to
> `boost::program_options::validate(boost::any&,
> std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, int)'
>
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi
> +0x1bf): In function `void
> boost::program_options::validate<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, char>(boost::any&,
> std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&,
> std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >*, int)':
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/value_semantic.hpp:149: undefined reference to
> `boost::program_options::validate(boost::any&,
> std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, int)'
>
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZN5boost15program_options8validateISscEEvRNS_3anyERKSt6vectorISbIT0_St11char_traitsIS5_ESaIS5_EESaIS9_EEPS4_IT_SaISE_EEi
> +0x2ed):/work/mmicel2/boost/include/boost-1_37/boost/program_options/
> detail/value_semantic.hpp:153: undefined reference to
> `boost::program_options::invalid_option_value::invalid_option_value
> (std::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)'
>
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZN5boost15program_options16validation_errorD2Ev
> +0x14): In function
> `boost::program_options::validation_error::~validation_error()':
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/
> errors.hpp:83: undefined reference to `vtable for
> boost::program_options::validation_error'
> CMakeFiles/code_search_and_replace.dir/code_search_and_replace.o
> (.gnu.linkonce.t._ZN5boost15program_options16validation_errorC2ERKS1_
> +0x23): In function
> `boost::program_options::validation_error::validation_error
> (boost::program_options::validation_error const&)':
> /work/mmicel2/boost/include/boost-1_37/boost/program_options/detail/value_semantic.hpp:153: undefined reference to `vtable for

Luke

unread,
Jan 6, 2009, 1:34:07 AM1/6/09
to Hypertable User
We have a fix in the master branch for boost 1.35+. The fix is
trivial: add #include <boost/version.hpp> before any boost header in
Properties.h. The compiler/preprocessor seems to assume undefined
symbol as 0 in value comparison context.

__Luke
> ...
>
> read more »
Reply all
Reply to author
Forward
0 new messages