Problems about building uhd

Hi,

I followed the uhd build instructions and there is error of undefined
reference of boost

functions…it is the error information below:


Linking CXX executable rx_timed_samples

CMakeFiles/rx_timed_samples.dir/rx_timed_samples.cpp.o: In function
`_main(int, char**)’:

rx_timed_samples.cpp:(.text+0xe3): undefined reference to

`boost::program_options::options_description::options_description(std::basic_string<char,

std::char_traits, std::allocator > const&, unsigned int,
unsigned int)’

CMakeFiles/rx_timed_samples.dir/rx_timed_samples.cpp.o: In function

`std::basic_string<char, std::char_traits, std::allocator >
const&

boost::program_options::validators::get_single_string(std::vector<std::basic_string<char,
std::char_traits, std::allocator >,
std::allocator<std::basic_string<char,
std::char_traits, std::allocator > > >

const&,

bool)’:

rx_timed_samples.cpp:(.text._ZN5boost15program_options10validators17get_single_stringIcEERKSbIT_St11char_traitsIS3_ESaIS3_EERKSt6vectorIS7_SaIS7_EEb[std::basic_string<char,
std::char_traits, std::allocator >
const&
boost::program_options::validators::get_single_string(std::vector<std::basic_string<char,
std::char_traits, std::allocator >,
std::allocator<std::basic_string<char,
std::char_traits, std::allocator > > >
const&, bool)]+0x13f): undefined reference to
`boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::basic_string<char, std::char_traits,
std::allocator > const&, std::basic_string<char,
std::char_traits, std::allocator

const&)’
rx_timed_samples.cpp:(.text._ZN5boost15program_options10validators17get_single_stringIcEERKSbIT_St11char_traitsIS3_ESaIS3_EERKSt6vectorIS7_SaIS7_EEb[std::basic_string<char,
std::char_traits, std::allocator >
const&
boost::program_options::validators::get_single_string(std::vector<std::basic_string<char,
std::char_traits, std::allocator >,
std::allocator<std::basic_string<char,
std::char_traits, std::allocator > > >
const&, bool)]+0x2e3): undefined reference to
`boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::basic_string<char, std::char_traits,
std::allocator > const&, std::basic_string<char,
std::char_traits, std::allocator

const&)’
CMakeFiles/rx_timed_samples.dir/rx_timed_samples.cpp.o: In function

`boost::program_options::basic_command_line_parser::extra_parser(boost::function1<std::pair<std::basic_string<char,
std::char_traits, std::allocator >,
std::basic_string<char, std::char_traits,
std::allocator > >, std::basic_string<char,
std::char_traits, std::allocator

const&>)’:
rx_timed_samples.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairISsSsERKSsEE[boost::program_options::basic_command_line_parser::extra_parser(boost::function1<std::pair<std::basic_string<char,
std::char_traits, std::allocator >,
std::basic_string<char, std::char_traits,
std::allocator > >, std::basic_string<char,
std::char_traits, std::allocator >
const&>)]+0x29): undefined reference to
`boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::basic_string<char,
std::char_traits, std::allocator >,
std::basic_string<char, std::char_traits,
std::allocator > >, std::basic_string<char,
std::char_traits, std::allocator

const&>)’
…/lib/libuhd.so: undefined reference to

`boost::this_thread::sleep(boost::posix_time::ptime const&)’

…/lib/libuhd.so: undefined reference to
`boost::system::get_generic_category()’

…/lib/libuhd.so: undefined reference to

`boost::program_options::parse_environment(boost::program_options::options_description

const&, boost::function1<std::basic_string<char, std::char_traits,

std::allocator >, std::basic_string<char, std::char_traits,

std::allocator > > const&)’

collect2: ld returned 1 exit status

make[2]: *** [examples/rx_timed_samples] Error 1

make[1]: *** [examples/CMakeFiles/rx_timed_samples.dir/all] Error 2

make: *** [all] Error 2


It seems that cmake could not link boost library successfully.But when I
run cmake, it

seems that it found all necessary boost libraries :


– Boost version: 1.42.0

– Found the following Boost libraries:

– date_time

– filesystem

– program_options

– regex

– system

– thread

– unit_test_framework


Does anyone has a clue about how to fix it?

Thank you!

Liang