discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] complaints about missing volk.h


From: Michael Dickens
Subject: Re: [Discuss-gnuradio] complaints about missing volk.h
Date: Wed, 29 May 2019 19:45:41 -0400
User-agent: Cyrus-JMAP/3.1.6-555-g49357e1-fmstable-20190528v2

Hi Tom - GR, UHD, and Volk will all build correctly using Boost 1.70.0 ... except that Boost 1.70.0's cmake scripts are broken, and they are installed by default. So, if you insist on using 1.70.0 then you'll want to find a creative way around them -- my recommendation is to just not use 1.70.0 at all, and I'd guess GR & other projects will block using it in the future. By "broken" I mean that the Boost libraries used for linking within CMake are not set properly ... but the headers are! So, compiling works but linking doesn't. There is no good workaround just yet, even though the Boost folks have fixed the code && say it will be part of the 1.71.0 release whenver that happens. If you revert back to 1.69.0 then all should be well, since it either doesn't provide cmake scripts or those scripts are not installed. Hope this is useful! - MLD

On Wed, May 29, 2019, at 7:29 PM, address@hidden wrote:
Thanks for that tip.  I am trying to build gnuradio under 
Slackware64-current and got further than I had previously using the git 
sources with its own Volk version.

However my build fails at,

[ 24%] Linking CXX executable volk_profile
/usr/bin/ld: CMakeFiles/volk_profile.dir/volk_profile.cc.o: in function `write_results(std::vector<volk_test_results_t, std::allocator<volk_test_results_t> > const*, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
volk_profile.cc:(.text+0x104d): undefined reference to `boost::filesystem::path::parent_path() const'
/usr/bin/ld: volk_profile.cc:(.text+0x105c): undefined reference to `boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)'
/usr/bin/ld: volk_profile.cc:(.text+0x109c): undefined reference to `boost::filesystem::path::parent_path() const'
/usr/bin/ld: volk_profile.cc:(.text+0x1237): undefined reference to `boost::filesystem::path::parent_path() const'
/usr/bin/ld: volk_profile.cc:(.text+0x1241): undefined reference to `boost::filesystem::detail::create_directories(boost::filesystem::path const&, boost::system::error_code*)'
[ 24%] Building CXX object 
gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/buffer.cc.o
collect2: error: ld returned 1 exit status

My distro has boost-1.70.0 which is a quite recent version.  Checking in 
gnuradio/volk/cmake/Modules/VolkBoost.cmake I see,

find_package(Boost "1.35" COMPONENTS ${BOOST_REQUIRED_COMPONENTS})

# This does not allow us to disable specific versions. It is used
# internally by cmake to know the formation newer versions. As newer
# Boost version beyond what is shown here are produced, we must extend
# this list. To disable Boost versions, see below.
set(Boost_ADDITIONAL_VERSIONS
    "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39"
    "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44"
    "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49"
    "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54"
    "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59"
    "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64"
    "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69"
)

ie. highest version listed is 1.69.  Am I basically stuck?

Thanks
Tom Crane

-- 
Tom Crane, Dept. Physics, Royal Holloway, University of London, Egham Hill,
Egham, Surrey, TW20 0EX, England.
Email:  address@hidden
Fax:    +44 (0) 1784 472794


reply via email to

[Prev in Thread] Current Thread [Next in Thread]