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: Tom Crane
Subject: Re: [Discuss-gnuradio] complaints about missing volk.h
Date: Fri, 31 May 2019 03:40:31 +0100 (BST)
User-agent: Alpine 2.21 (LNX 202 2017-01-01)

Hi Michael,
Thanks for the explanation. In the end I reverted back to boost-1.69.0 which fixed the problem. I also tried adding 1.70 to the list in gnuradio/volk/cmake/Modules/VolkBoost.cmake as suggested by Chris Kuethe further up this thread but it did not help.

My thanks to you both.
Cheers
Tom.

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

On Wed, 29 May 2019, Michael Dickens wrote:

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]