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