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