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, tp...@mklab.ph.rhul.ac.uk 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: t.cr...@rhul.ac.uk
> Fax: +44 (0) 1784 472794
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to