Hi,

I'm having a problem building Volk 1.3 or GNU Radio version than 3.7.10
(any) or 3.7.9.3.  Versions 3.7.9.2 and older seem to work fine.  This is
on a Fedora 22 system.

I'm getting a ton of undefined reference errors to various Boost
functions.  I originally thought maybe the installed version of Boost was
not up to date so I removed the version from the repo and built and
installed Boost 1.62 from source.  No such luck.  I've verified that the
libraries are installed in the correct locations and used the nm tool to
try to validate that the functions exist in the .so files, but that's a bit
over my head.

I've tried to verify that the CMake configuration is reasonable and as far
as I can tell the linker is getting the correct commands.

Any ideas?  The make output is below.

Thanks,
Joe



[ 23%] Linking CXX executable volk_profile
CMakeFiles/volk_profile.dir/volk_profile.cc.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)':
volk_profile.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x21):
undefined reference to
`boost::program_options::validation_error::get_template[abi:cxx11](boost::program_options::validation_error::kind_t)'
volk_profile.cc:(.text._ZN5boost15program_options16validation_errorC2ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i[_ZN5boost15program_options16validation_errorC5ENS1_6kind_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_i]+0x39):
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)'
CMakeFiles/volk_profile.dir/volk_profile.cc.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':
volk_profile.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE6xparseERNS_3anyERKSt6vectorIS7_SaIS7_EE]+0x1c):
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)'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function
`boost::program_options::typed_value<bool, 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':
volk_profile.cc:(.text._ZNK5boost15program_options11typed_valueIbcE6xparseERNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISB_EE[_ZNK5boost15program_options11typed_valueIbcE6xparseERNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISB_EE]+0x1c):
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&, bool*, int)'
CMakeFiles/volk_profile.dir/volk_profile.cc.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&>)':
volk_profile.cc:(.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]+0x46):
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&>)'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function
`boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int,
char const* const*)':
volk_profile.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x19c):
undefined reference to
`boost::program_options::to_internal(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'
volk_profile.cc:(.text._ZN5boost15program_options25basic_command_line_parserIcEC2EiPKPKc[_ZN5boost15program_options25basic_command_line_parserIcEC5EiPKPKc]+0x1e7):
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&)'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function
`boost::program_options::typed_value<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, char>::name() const':
volk_profile.cc:(.text._ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv[_ZNK5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcE4nameEv]+0x1d):
undefined reference to `boost::program_options::arg[abi:cxx11]'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function
`boost::program_options::typed_value<int, char>::name() const':
volk_profile.cc:(.text._ZNK5boost15program_options11typed_valueIicE4nameEv[_ZNK5boost15program_options11typed_valueIicE4nameEv]+0x1d):
undefined reference to `boost::program_options::arg[abi:cxx11]'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function
`boost::program_options::typed_value<float, char>::name() const':
volk_profile.cc:(.text._ZNK5boost15program_options11typed_valueIfcE4nameEv[_ZNK5boost15program_options11typed_valueIfcE4nameEv]+0x1d):
undefined reference to `boost::program_options::arg[abi:cxx11]'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function
`boost::program_options::typed_value<bool, char>::name() const':
volk_profile.cc:(.text._ZNK5boost15program_options11typed_valueIbcE4nameEv[_ZNK5boost15program_options11typed_valueIbcE4nameEv]+0x1d):
undefined reference to `boost::program_options::arg[abi:cxx11]'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function `main':
volk_profile.cc:(.text.startup+0x4d): 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)'
volk_profile.cc:(.text.startup+0x4f1): undefined reference to
`boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'
volk_profile.cc:(.text.startup+0x5b3): undefined reference to
`boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'
volk_profile.cc:(.text.startup+0x60a): undefined reference to
`boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'
volk_profile.cc:(.text.startup+0x6b2): undefined reference to
`boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'
volk_profile.cc:(.text.startup+0x6fd): undefined reference to
`boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:volk_profile.cc:(.text.startup+0x75d):
more undefined references to
`boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const' follow
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function `void
boost::program_options::validate<float, 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&, float*, long)':
volk_profile.cc:(.text._ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateIfcEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x4da):
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&)'
CMakeFiles/volk_profile.dir/volk_profile.cc.o: In function `void
boost::program_options::validate<int, 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&, int*, long)':
volk_profile.cc:(.text._ZN5boost15program_options8validateIicEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l[_ZN5boost15program_options8validateIicEEvRNS_3anyERKSt6vectorINSt7__cxx1112basic_stringIT0_St11char_traitsIS7_ESaIS7_EEESaISB_EEPT_l]+0x3f8):
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&)'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x30):
more undefined references to
`boost::program_options::error_with_option_name::substitute_placeholders(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const' follow
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueIbcEE[_ZTVN5boost15program_options11typed_valueIbcEE]+0x40):
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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueIfcEE[_ZTVN5boost15program_options11typed_valueIfcEE]+0x40):
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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueIicEE[_ZTVN5boost15program_options11typed_valueIicEE]+0x40):
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'
CMakeFiles/volk_profile.dir/volk_profile.cc.o:(.rodata._ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE[_ZTVN5boost15program_options11typed_valueINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEE]+0x40):
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
volk/apps/CMakeFiles/volk_profile.dir/build.make:126: recipe for target
'volk/apps/volk_profile' failed
make[2]: *** [volk/apps/volk_profile] Error 1
CMakeFiles/Makefile2:346: recipe for target
'volk/apps/CMakeFiles/volk_profile.dir/all' failed
make[1]: *** [volk/apps/CMakeFiles/volk_profile.dir/all] Error 2
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to