Hi Tellrell,

Can you post the exact steps you are following?

Jonathon

On Wed, Aug 25, 2021 at 8:59 PM Tellrell White via USRP-users <
usrp-users@lists.ettus.com> wrote:

> From looking at the whole printout to the screen, it seems as though UHD
> functions as well as boost functions are not being seen, hence the
> "undefined reference" messages. I'm unclear as to why this is happening at
> the moment. This is a complete printout below.
>
>
> tw@tw-virtual-machine:/usr/local/share/uhd/images/y$ sudo make
> rfnoc_replay_samples_1_from_file
> [sudo] password for tw:
> g++     rfnoc_replay_samples_1_from_file.cpp   -o
> rfnoc_replay_samples_1_from_file
> /tmp/ccXdJ5o0.o: In function `_main(int, char**)':
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x34e): undefined reference to
> `boost::program_options::options_description::m_default_line_length'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x359): undefined reference to
> `boost::program_options::options_description::m_default_line_length'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3a0): undefined reference to
> `boost::program_options::options_description::options_description(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, unsigned int,
> unsigned int)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3cd): undefined reference to
> `boost::program_options::options_description::add_options()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3f1): undefined reference to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, char const*)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x45d): undefined reference to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, boost::program_options::value_semantic const*, char const*)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x488): undefined reference to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, boost::program_options::value_semantic const*, char const*)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x4d3): undefined reference to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, boost::program_options::value_semantic const*, char const*)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x51e): undefined reference to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, boost::program_options::value_semantic const*, char const*)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x569): undefined reference to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, boost::program_options::value_semantic const*, char const*)'
> /tmp/ccXdJ5o0.o:rfnoc_replay_samples_1_from_file.cpp:(.text+0x5b4): more
> undefined references to
> `boost::program_options::options_description_easy_init::operator()(char
> const*, boost::program_options::value_semantic const*, char const*)' follow
> /tmp/ccXdJ5o0.o: In function `_main(int, char**)':
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x817): undefined reference to
> `boost::program_options::variables_map::variables_map()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x877): undefined reference to
> `boost::program_options::store(boost::program_options::basic_parsed_options<char>
> const&, boost::program_options::variables_map&, bool)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x8a4): undefined reference to
> `boost::program_options::notify(boost::program_options::variables_map&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x941): undefined reference to
> `boost::program_options::operator<<(std::ostream&,
> boost::program_options::options_description const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0xa18): undefined reference to
> `uhd::device_addr_t::device_addr_t(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0xa31): undefined reference to
> `uhd::rfnoc::rfnoc_graph::make(uhd::device_addr_t const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0xa91): undefined reference to
> `uhd::rfnoc::block_id_t::block_id_t(unsigned long,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, unsigned long)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0xcf7): undefined reference to
> `uhd::rfnoc::block_id_t::block_id_t(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0xd3c): undefined reference to
> `uhd::rfnoc::block_id_t::match(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0xeef): undefined reference to
> `uhd::rfnoc::block_id_t::block_id_t(unsigned long,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, unsigned long)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x127f): undefined reference
> to `uhd::device_addr_t::device_addr_t(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x1ce8): undefined reference
> to `uhd::_log::log::log(uhd::log::severity_level,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, unsigned int,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::thread::id)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x1d0d): undefined reference
> to `uhd::_log::log::~log()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x1f6e): undefined reference
> to `uhd::_log::log::log(uhd::log::severity_level,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, unsigned int,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::thread::id)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x1f93): undefined reference
> to `uhd::_log::log::~log()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x207a): undefined reference
> to `uhd::_log::log::log(uhd::log::severity_level,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, unsigned int,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::thread::id)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x209f): undefined reference
> to `uhd::_log::log::~log()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x2120): undefined reference
> to `uhd::device_addr_t::device_addr_t(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x2183): undefined reference
> to `uhd::tx_metadata_t::tx_metadata_t()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x21af): undefined reference
> to `uhd::rfnoc::block_id_t::to_string[abi:cxx11]() const'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x2e93): undefined reference
> to `uhd::time_spec_t::time_spec_t(double)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x2f47): undefined reference
> to `uhd::stream_cmd_t::stream_cmd_t(uhd::stream_cmd_t::stream_mode_t
> const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3604): undefined reference
> to `uhd::_log::log::~log()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3666): undefined reference
> to `uhd::_log::log::~log()'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x36c8): undefined reference
> to `uhd::_log::log::~log()'
> /tmp/ccXdJ5o0.o: In function `uhd::rfnoc::property_t<int>* (anonymous
> namespace)::_assert_prop<int>(uhd::rfnoc::property_base_t*,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3a81): undefined reference
> to `uhd::lookup_error::lookup_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3aad): undefined reference
> to `typeinfo for uhd::lookup_error'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3ba6): undefined reference
> to `uhd::type_error::type_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text+0x3be1): undefined reference
> to `typeinfo for uhd::type_error'
> /tmp/ccXdJ5o0.o: In function `uhd::rfnoc::block_id_t::operator
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >() const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc10block_id_tcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv[_ZNK3uhd5rfnoc10block_id_tcvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEv]+0x2e):
> undefined reference to `uhd::rfnoc::block_id_t::to_string[abi:cxx11]()
> const'
> /tmp/ccXdJ5o0.o: In function `uhd::rfnoc::operator<<(std::ostream&,
> uhd::rfnoc::block_id_t)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoclsERSoNS0_10block_id_tE[_ZN3uhd5rfnoclsERSoNS0_10block_id_tE]+0x2f):
> undefined reference to `uhd::rfnoc::block_id_t::to_string[abi:cxx11]()
> const'
> /tmp/ccXdJ5o0.o: In function `uhd::runtime_error::~runtime_error()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd13runtime_errorD2Ev[_ZN3uhd13runtime_errorD5Ev]+0xf):
> undefined reference to `vtable for uhd::runtime_error'
> /tmp/ccXdJ5o0.o: In function
> `uhd::stream_args_t::stream_args_t(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd13stream_args_tC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_[_ZN3uhd13stream_args_tC5ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_]+0x76):
> undefined reference to
> `uhd::device_addr_t::device_addr_t(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::error_with_option_name::~error_with_option_name()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options22error_with_option_nameD2Ev[_ZN5boost15program_options22error_with_option_nameD5Ev]+0xf):
> undefined reference to `vtable for
> boost::program_options::error_with_option_name'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, int)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x41):
> undefined reference to
> `boost::program_options::validation_error::get_template[abi:cxx11](boost::program_options::validation_error::kind_t)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x5e):
> undefined reference to
> `boost::program_options::error_with_option_name::error_with_option_name(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&, int)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options29value_semantic_codecvt_helperIcEC2Ev[_ZN5boost15program_options29value_semantic_codecvt_helperIcEC5Ev]+0x1b):
> undefined reference to `vtable for
> boost::program_options::value_semantic_codecvt_helper<char>'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::value_semantic_codecvt_helper<char>::~value_semantic_codecvt_helper()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options29value_semantic_codecvt_helperIcED2Ev[_ZN5boost15program_options29value_semantic_codecvt_helperIcED5Ev]+0xf):
> undefined reference to `vtable for
> boost::program_options::value_semantic_codecvt_helper<char>'
> /tmp/ccXdJ5o0.o: In function `uhd::lookup_error::~lookup_error()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd12lookup_errorD2Ev[_ZN3uhd12lookup_errorD5Ev]+0xf):
> undefined reference to `vtable for uhd::lookup_error'
> /tmp/ccXdJ5o0.o: In function `std::shared_ptr<uhd::rfnoc::radio_control>
> uhd::rfnoc::rfnoc_graph::get_block<uhd::rfnoc::radio_control>(uhd::rfnoc::block_id_t
> const&) const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_13radio_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_13radio_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0xbb):
> undefined reference to `uhd::rfnoc::block_id_t::to_string[abi:cxx11]()
> const'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_13radio_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_13radio_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0x16b):
> undefined reference to
> `uhd::lookup_error::lookup_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_13radio_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_13radio_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0x1d9):
> undefined reference to `typeinfo for uhd::lookup_error'
> /tmp/ccXdJ5o0.o: In function
> `std::shared_ptr<uhd::rfnoc::duc_block_control>
> uhd::rfnoc::rfnoc_graph::get_block<uhd::rfnoc::duc_block_control>(uhd::rfnoc::block_id_t
> const&) const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_17duc_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_17duc_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0xbb):
> undefined reference to `uhd::rfnoc::block_id_t::to_string[abi:cxx11]()
> const'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_17duc_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_17duc_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0x16b):
> undefined reference to
> `uhd::lookup_error::lookup_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_17duc_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_17duc_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0x1d9):
> undefined reference to `typeinfo for uhd::lookup_error'
> /tmp/ccXdJ5o0.o: In function
> `std::shared_ptr<uhd::rfnoc::replay_block_control>
> uhd::rfnoc::rfnoc_graph::get_block<uhd::rfnoc::replay_block_control>(uhd::rfnoc::block_id_t
> const&) const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_20replay_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_20replay_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0xbb):
> undefined reference to `uhd::rfnoc::block_id_t::to_string[abi:cxx11]()
> const'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_20replay_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_20replay_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0x16b):
> undefined reference to
> `uhd::lookup_error::lookup_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_20replay_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE[_ZNK3uhd5rfnoc11rfnoc_graph9get_blockINS0_20replay_block_controlEEESt10shared_ptrIT_ERKNS0_10block_id_tE]+0x1d9):
> undefined reference to `typeinfo for uhd::lookup_error'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int,
> char const* const*)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x81):
> undefined reference to
> `boost::program_options::detail::cmdline::cmdline(std::vector<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > > const&)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description
> const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE7optionsERKNS0_19options_descriptionE[_ZN5boost15program_options25basic_command_line_parserIcE7optionsERKNS0_19options_descriptionE]+0x1f):
> undefined reference to
> `boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description
> const&)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::basic_command_line_parser<char>::style(int)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE5styleEi[_ZN5boost15program_options25basic_command_line_parserIcE5styleEi]+0x1c):
> undefined reference to `boost::program_options::detail::cmdline::style(int)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::pair<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > >, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&>)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE[_ZN5boost15program_options25basic_command_line_parserIcE12extra_parserENS_9function1ISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_ERKSA_EE]+0x42):
> undefined reference to
> `boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > >, std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&>)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::basic_command_line_parser<char>::run()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE3runEv[_ZN5boost15program_options25basic_command_line_parserIcE3runEv]+0x28):
> undefined reference to
> `boost::program_options::detail::cmdline::get_canonical_option_prefix()'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options25basic_command_line_parserIcE3runEv[_ZN5boost15program_options25basic_command_line_parserIcE3runEv]+0x54):
> undefined reference to `boost::program_options::detail::cmdline::run()'
> /tmp/ccXdJ5o0.o: In function `std::shared_ptr<uhd::rfnoc::radio_control>
> std::dynamic_pointer_cast<uhd::rfnoc::radio_control,
> uhd::rfnoc::noc_block_base>(std::shared_ptr<uhd::rfnoc::noc_block_base>
> const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZSt20dynamic_pointer_castIN3uhd5rfnoc13radio_controlENS1_14noc_block_baseEESt10shared_ptrIT_ERKS4_IT0_E[_ZSt20dynamic_pointer_castIN3uhd5rfnoc13radio_controlENS1_14noc_block_baseEESt10shared_ptrIT_ERKS4_IT0_E]+0x30):
> undefined reference to `typeinfo for uhd::rfnoc::noc_block_base'
> /tmp/ccXdJ5o0.o: In function
> `std::shared_ptr<uhd::rfnoc::duc_block_control>
> std::dynamic_pointer_cast<uhd::rfnoc::duc_block_control,
> uhd::rfnoc::noc_block_base>(std::shared_ptr<uhd::rfnoc::noc_block_base>
> const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZSt20dynamic_pointer_castIN3uhd5rfnoc17duc_block_controlENS1_14noc_block_baseEESt10shared_ptrIT_ERKS4_IT0_E[_ZSt20dynamic_pointer_castIN3uhd5rfnoc17duc_block_controlENS1_14noc_block_baseEESt10shared_ptrIT_ERKS4_IT0_E]+0x30):
> undefined reference to `typeinfo for uhd::rfnoc::noc_block_base'
> /tmp/ccXdJ5o0.o: In function
> `std::shared_ptr<uhd::rfnoc::replay_block_control>
> std::dynamic_pointer_cast<uhd::rfnoc::replay_block_control,
> uhd::rfnoc::noc_block_base>(std::shared_ptr<uhd::rfnoc::noc_block_base>
> const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZSt20dynamic_pointer_castIN3uhd5rfnoc20replay_block_controlENS1_14noc_block_baseEESt10shared_ptrIT_ERKS4_IT0_E[_ZSt20dynamic_pointer_castIN3uhd5rfnoc20replay_block_controlENS1_14noc_block_baseEESt10shared_ptrIT_ERKS4_IT0_E]+0x30):
> undefined reference to `typeinfo for uhd::rfnoc::noc_block_base'
> /tmp/ccXdJ5o0.o: In function `int const&
> uhd::rfnoc::node_t::get_property<int>(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&,
> uhd::rfnoc::res_source_info const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE[_ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE]+0xb4):
> undefined reference to `uhd::_log::log::log(uhd::log::severity_level,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, unsigned int,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&, std::thread::id)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE[_ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE]+0x162):
> undefined reference to `uhd::_log::log::~log()'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE[_ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE]+0x19e):
> undefined reference to `uhd::rfnoc::node_t::resolve_all()'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE[_ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE]+0x1e8):
> undefined reference to
> `uhd::rfnoc::node_t::_find_property(uhd::rfnoc::res_source_info,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > const&) const'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE[_ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE]+0x23c):
> undefined reference to
> `uhd::rfnoc::node_t::_request_property_access(uhd::rfnoc::property_base_t*,
> uhd::rfnoc::property_base_t::access_t) const'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE[_ZN3uhd5rfnoc6node_t12get_propertyIiEERKT_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_15res_source_infoE]+0x2b2):
> undefined reference to `uhd::_log::log::~log()'
> /tmp/ccXdJ5o0.o: In function `std::vector<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > >
> boost::program_options::to_internal<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >
> >(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options11to_internalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt6vectorIS7_SaIS7_EERKS8_IT_SaISB_EE[_ZN5boost15program_options11to_internalINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt6vectorIS7_SaIS7_EERKS8_IT_SaISB_EE]+0x6c):
> undefined reference to
> `boost::program_options::to_internal(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> /tmp/ccXdJ5o0.o: In function `uhd::access_error::~access_error()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd12access_errorD2Ev[_ZN3uhd12access_errorD5Ev]+0xf):
> undefined reference to `vtable for uhd::access_error'
> /tmp/ccXdJ5o0.o: In function `uhd::rfnoc::property_t<int>::get() const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc10property_tIiE3getEv[_ZNK3uhd5rfnoc10property_tIiE3getEv]+0x133):
> undefined reference to
> `uhd::access_error::access_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc10property_tIiE3getEv[_ZNK3uhd5rfnoc10property_tIiE3getEv]+0x1a1):
> undefined reference to `typeinfo for uhd::access_error'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc10property_tIiE3getEv[_ZNK3uhd5rfnoc10property_tIiE3getEv]+0x26e):
> undefined reference to
> `uhd::access_error::access_error(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK3uhd5rfnoc10property_tIiE3getEv[_ZNK3uhd5rfnoc10property_tIiE3getEv]+0x2af):
> undefined reference to `typeinfo for uhd::access_error'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueIdcEE[_ZTVN5boost15program_options11typed_valueIdcEE]+0x38):
> undefined reference to
> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueImcEE[_ZTVN5boost15program_options11typed_valueImcEE]+0x38):
> undefined reference to
> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x38):
> undefined reference to
> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x20):
> undefined reference to
> `boost::program_options::error_with_option_name::what() const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30):
> undefined reference to
> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x20):
> undefined reference to
> `boost::program_options::error_with_option_name::what() const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost15program_options16validation_errorE[_ZTVN5boost15program_options16validation_errorE]+0x30):
> undefined reference to
> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN5boost15program_options11typed_valueIdcEE[_ZTIN5boost15program_options11typed_valueIdcEE]+0x18):
> undefined reference to `typeinfo for
> boost::program_options::value_semantic_codecvt_helper<char>'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN5boost15program_options11typed_valueImcEE[_ZTIN5boost15program_options11typed_valueImcEE]+0x18):
> undefined reference to `typeinfo for
> boost::program_options::value_semantic_codecvt_helper<char>'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTIN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x18):
> undefined reference to `typeinfo for
> boost::program_options::value_semantic_codecvt_helper<char>'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN5boost15program_options16validation_errorE[_ZTIN5boost15program_options16validation_errorE]+0x10):
> undefined reference to `typeinfo for
> boost::program_options::error_with_option_name'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN3uhd5rfnoc20replay_block_controlE[_ZTIN3uhd5rfnoc20replay_block_controlE]+0x10):
> undefined reference to `typeinfo for uhd::rfnoc::noc_block_base'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN3uhd5rfnoc13radio_controlE[_ZTIN3uhd5rfnoc13radio_controlE]+0x18):
> undefined reference to `typeinfo for uhd::rfnoc::noc_block_base'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTIN3uhd5rfnoc17duc_block_controlE[_ZTIN3uhd5rfnoc17duc_block_controlE]+0x10):
> undefined reference to `typeinfo for uhd::rfnoc::noc_block_base'
> /tmp/ccXdJ5o0.o: In function `uhd::type_error::~type_error()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN3uhd10type_errorD2Ev[_ZN3uhd10type_errorD5Ev]+0xf):
> undefined reference to `vtable for uhd::type_error'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::variables_map::~variables_map()':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options13variables_mapD2Ev[_ZN5boost15program_options13variables_mapD5Ev]+0xf):
> undefined reference to `vtable for boost::program_options::variables_map'
> /tmp/ccXdJ5o0.o: In function `boost::program_options::typed_value<double,
> char>::name[abi:cxx11]() const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK5boost15program_options11typed_valueIdcE4nameB5cxx11Ev[_ZNK5boost15program_options11typed_valueIdcE4nameB5cxx11Ev]+0x43):
> undefined reference to `boost::program_options::arg[abi:cxx11]'
> /tmp/ccXdJ5o0.o: In function `boost::program_options::typed_value<unsigned
> long, char>::name[abi:cxx11]() const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK5boost15program_options11typed_valueImcE4nameB5cxx11Ev[_ZNK5boost15program_options11typed_valueImcE4nameB5cxx11Ev]+0x43):
> undefined reference to `boost::program_options::arg[abi:cxx11]'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::typed_value<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, char>::name() const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x43):
> undefined reference to `boost::program_options::arg[abi:cxx11]'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::typed_value<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&) const':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x7a):
> undefined reference to `boost::program_options::validate(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&,
> std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >*, int)'
> /tmp/ccXdJ5o0.o: In function `void
> boost::program_options::validate<double, char>(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, double*, long)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x42):
> undefined reference to
> `boost::program_options::validators::check_first_occurrence(boost::any
> const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateIdcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x122):
> undefined reference to
> `boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> /tmp/ccXdJ5o0.o: In function `void
> boost::program_options::validate<unsigned long, char>(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, unsigned long*,
> long)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x42):
> undefined reference to
> `boost::program_options::validators::check_first_occurrence(boost::any
> const&)'
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateImcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x11d):
> undefined reference to
> `boost::program_options::invalid_option_value::invalid_option_value(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)'
> /tmp/ccXdJ5o0.o: In function
> `boost::program_options::error_with_option_name::error_with_option_name(boost::program_options::error_with_option_name
> const&)':
> rfnoc_replay_samples_1_from_file.cpp:(.text._ZN5boost15program_options22error_with_option_nameC2ERKS1_[_ZN5boost15program_options22error_with_option_nameC5ERKS1_]+0x27):
> undefined reference to `vtable for
> boost::program_options::error_with_option_name'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x28):
> undefined reference to
> `boost::program_options::error_with_option_name::what() const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x38):
> undefined reference to
> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x20):
> undefined reference to
> `boost::program_options::error_with_option_name::what() const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x30):
> undefined reference to
> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x28):
> undefined reference to
> `boost::program_options::error_with_option_name::what() const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x38):
> undefined reference to
> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x20):
> undefined reference to
> `boost::program_options::error_with_option_name::what() const'
> /tmp/ccXdJ5o0.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x30):
> undefined reference to
> `boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&) const'
> collect2: error: ld returned 1 exit status
> <builtin>: recipe for target 'rfnoc_replay_samples_1_from_file' failed
> make: *** [rfnoc_replay_samples_1_from_file] Error 1
>
> From looking at the whole printout to the screen, it seems as though UHD
> functions as well as boost functions are not being seen, hence the
> "undefined reference" messages. I'm unclear as to why this is happening at
> the moment. This is a complete printout.
>
>
>
> On Wednesday, August 25, 2021, 10:30:21 AM EDT, Tellrell White via
> USRP-users <usrp-users@lists.ettus.com> wrote:
>
>
> Thanks for the reply. I tried the CMake approach following the steps you
> mentioned but received an error when building.
>
> First, I created CMakeLists which is pretty simple as shown below
>
> cmake_minimum_required(VERSION 3.10)
> #set the project name
> project(Tutorial)
> #add the executable
> add_executable(replay_example rfnoc_replay_samples_1_from_file.cpp)
>
> Then, I sourced the file, and set the flag for CMake. Lastly, inside of a 
> build directory, I tried building the App and got the following printout
>
> /usr/local/share/uhd/images/y/sysroots/x86_64-oesdk-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/9.2.0/real-ld:
> CMakeFiles/replay_example.dir/rfnoc_replay_samples_1_from_file.cpp.o:(.rodata._ZTVN5boost15program_options11typed_valueIjcEE[_ZTVN5boost15program_options11typed_valueIjcEE]+0x1c):
> undefined reference to
> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> /usr/local/share/uhd/images/y/sysroots/x86_64-oesdk-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/9.2.0/real-ld:
> CMakeFiles/replay_example.dir/rfnoc_replay_samples_1_from_file.cpp.o:(.rodata._ZTVN5boost15program_options11typed_valueIdcEE[_ZTVN5boost15program_options11typed_valueIdcEE]+0x1c):
> undefined reference to
> `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&,
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
> collect2: error: ld returned 1 exit status
> CMakeFiles/replay_example.dir/build.make:83: recipe for target
> 'replay_example' failed
> make[2]: *** [replay_example] Error 1
> CMakeFiles/Makefile2:75: recipe for target
> 'CMakeFiles/replay_example.dir/all' failed
> make[1]: *** [CMakeFiles/replay_example.dir/all] Error 2
> Makefile:83: recipe for target 'all' failed
> make: *** [all] Error 2
>
> I'm not sure if this is a boost issue or something else.
>
>
>
>
> On Tuesday, August 24, 2021, 07:21:17 PM EDT, Jonathon Pendlum <
> jonathon.pend...@ettus.com> wrote:
>
>
> Hi Tellrell,
>
> Do not use the Xilinx SDK, only the Yocto one, i.e.
> /usr/local/share/uhd/images/y/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi
>
> You need to source the
> "environment-setup-cortexa9t2hf-neon-oe-linux-gnueabi" file before cross
> compiling. If you use cmake with building your application, you also need
> to set the flag "-DCMAKE_TOOLCHAIN_FILE=<path to
> UHD>/host/cmake/Toolchains/oe-sdk_cross.cmake".
>
> Also, if you just want to run the UHD example, it already exists on the
> N310's root file system at:
> /usr/lib/uhd/examples/rfnoc_replay_samples_from_file
>
> Jonathon
>
> On Tue, Aug 24, 2021 at 4:42 PM Tellrell White via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
> I'm trying to compile the source code using SDK 2019.1. I'm pointing the
> the SDK project to the directory for sysroot and also to the directory for
> my linux toolchain which are the following
>
> /usr/local/share/uhd/images/y/sysroots/cortexa9t2hf-neon-oe-linux-gnueabi
>
>
> /tools/Xilinx/SDK/2019.1/gnu/aarch32/lin/gcc-arm-linux-gnueabi/arm-linux-gnueabihf
>
> I continue to get the following error stating that these files can't be
> found, however, they do exist. And, when I try adding them within the
> project and refreshing nothing happens.
>
>
> cannot find /lib/ld-linux-armhf.so.3
>
> cannot find /lib/libc.so.6
>
> cannot find /usr/lib/libc_nonshared.a
>
> Am I going about building this application correctly? I thought that
> linking my project to sysroot which I installed for the n310 and to the SDK
> toolchain( maybe I'm doing this incorrectly) would be pretty
> straightforward.
>
>
>
>
>
>
>
>
>
>
> On Tuesday, August 24, 2021, 12:41:05 PM EDT, Marcus D. Leech <
> patchvonbr...@gmail.com> wrote:
>
>
> On 2021-08-24 12:08 p.m., Tellrell White wrote:
>
> Yep. Marcus you caught it!! That worked. Do I need to complete the
> sections on "Compiling MPM Natively" and "Building UHD"?? I understand that
> I need the cross-compiler for compiling SW for the device but I don't see
> the need for completing the other two parts. Is there something additional
> that needs to be done other than cross compiling on the host machine and
> ssh'ing over the executable?
>
>
> As far as I know, you should be able to just cross-compile the code you're
> interested in.
>
>
>
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
> _______________________________________________
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to