Problem linking volk gnuradio3.7.4

Hi all, I have gnuradio-3.7.3 working fine with boost-1.50 on ubuntu
12.04, and I’m using USRP B200 with uhd3.7, all built from source.
Now I’m moving to gnuradio-3.7.4, but I got the following error linking
volk, at the moment I don’t understand this. The same happens trying to
link to boost-1.55.

Any help is highly appreciated, thanks !

Stefano

Linking CXX executable volk-config-info
CMakeFiles/volk-config-info.dir/volk-config-info.cc.o: In function
boost::program_options::basic_parsed_options<char> boost::program_options::parse_command_line<char>(int, char const* const*, boost::program_options::options_description const&, int, boost::function1<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)': volk-config-info.cc:(.text._ZN5boost15program_options18parse_command_lineIcEENS0_20basic_parsed_optionsIT_EEiPKPKS3_RKNS0_19options_descriptionEiNS_9function1ISt4pairISsSsERKSsEE[boost::program_options::basic_parsed_options<char> boost::program_options::parse_command_line<char>(int, char const* const*, boost::program_options::options_description const&, int, boost::function1<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)]+0x486): undefined reference toboost::program_options::detail::cmdline::get_canonical_option_prefix()’
collect2: ld returned 1 exit status
make[2]: *** [volk/apps/volk-config-info] Errore 1
make[1]: *** [volk/apps/CMakeFiles/volk-config-info.dir/all] Errore 2
make: *** [all] Errore 2

Stefano,

you sent the same mail four times, which is not really increasing the
likelihood of it being answered. Please have a little patience; it’s
weekend, and many of the experts reading this mailing list are enjoying
that :slight_smile:

Anyway, this is a linker error, and it’s a little hard to guess what
goes wrong. Just a few hints:

  • Make sure there is only one version of boost installed on your system,
    and that the version of boost headers in /usr/include match the version
    of the library installed to /usr/lib
  • If you’re using the same build folder as for 3.7.3, try make clean &&
    make (Protip: install ccache / ccache-swig first!), and if that doesn’t
    help, rm -r build && mkdir build && cd build && cmake … && make

Basically, what goes wrong is that your compiler thinks it can use a
function from the boost library, but your linker doesn’t find it, which
usually doesn’t happen.

Greetings,
Marcus

Hi Marcus, I’m very sorry for having sent my message four times, but a
problem on my email client prevent me to see the sent messages, so I was
in doubt it was sent or not.
Anyway rm -r build & re-make… solved the problem, now it’s building
3.7.4…

many thanks, Stefano ik2yxt

Il 24/08/2014 12:36, Marcus M. ha scritto: