Under ubuntu 16,04 I have*built latest boost 1.65**.1 like this*:
|./bootstrap.sh --prefix=/usr/local ./b2 sudo ./b2 install sudo ldconfig
***then when building something against boost,I got the**se errors:*
/usr/local/include/boost/serialization/access.hpp: In instantiation of
‘static void boost::serialization::access::serialize(Archive&, T&,
unsigned int) [with Archive = boost::archive::text_oarchive; T =
std::array]’:
/usr/local/include/boost/serialization/serialization.hpp:68:22: required
from ‘void boost::serialization::serialize(Archive&, T&, unsigned int)
[with Archive = boost::archive::text_oarchive; T =
std::array]’
/usr/local/include/boost/serialization/serialization.hpp:126:14:
required from ‘void boost::serialization::serialize_adl(Archive&, T&,
unsigned int) [with Archive = boost::archive::text_oarchive; T =
std::array]’
/usr/local/include/boost/archive/detail/oserializer.hpp:150:40: required
from ‘void boost::archive::detail::oserializer::save_object_data(boost::archive::detail::basic_oarchive&, const
void*) const [with Archive = boost::archive::text_oarchive; T =
std::array]’
/usr/local/include/boost/archive/detail/oserializer.hpp:103:1: required
from ‘class
boost::archive::detail::oserializer >’
/usr/local/include/boost/archive/detail/oserializer.hpp:255:13: required
from ‘static void
boost::archive::detail::save_non_pointer_type<Archive>::save_standard::invoke(Archive&,
const T&) [with T = std::array;
Archive = boost::archive::text_oarchive]’
/usr/local/include/boost/archive/detail/oserializer.hpp:310:22: required
from ‘static void
boost::archive::detail::save_non_pointer_type<Archive>::invoke(Archive&,
const T&) [with T = std::array;
Archive = boost::archive::text_oarchive]’
/usr/local/include/boost/archive/detail/oserializer.hpp:534:18: required
from ‘void boost::archive::save(Archive&, T&) [with Archive =
boost::archive::text_oarchive; T = const
std::array]’
/usr/local/include/boost/archive/detail/common_oarchive.hpp:70:22:
required from ‘void
boost::archive::detail::common_oarchive<Archive>::save_override(T&)
[with T = const std::array;
Archive = boost::archive::text_oarchive]’
/usr/local/include/boost/archive/basic_text_oarchive.hpp:83:9: required
from ‘void
boost::archive::basic_text_oarchive<Archive>::save_override(T&) [with T
= const std::array; Archive =
boost::archive::text_oarchive]’
/usr/local/include/boost/archive/detail/interface_oarchive.hpp:70:9:
required from ‘Archive&
boost::archive::detail::interface_oarchive<Archive>::operator<<(const
T&) [with T = std::array;
Archive = boost::archive::text_oarchive]’
examples/user_code/openpose_recognition.cpp:867:89: required from here
/usr/local/include/boost/serialization/access.hpp:116:9: error: ‘struct
std::array’ has no member named
‘serialize’ t.serialize(ar, file_version); ^ compilation terminated due
to -Wfatal-errors. Makefile:478: die Regel für Ziel
„.build_release/examples/user_code/openpose_recognition.o“ scheiterte
make: *** [.build_release/examples/user_code/openpose_recognition.o]
Fehler 1 make: *** Auf noch nicht beendete Prozesse wird gewartet … |
|*I think ubuntu is still use default boost that installed by apt-get,so
I tried to pur**ge it * sudo apt-get purge libboost1.58-dev|
*the output asks me to remove a lot of stuffs **that depend on
libboost1.58-dev **like these:*
Die folgenden Pakete wurden automatisch installiert und werden nicht
mehr benötigt:
docutils-common fltk1.3-doc fluid gazebo7 gazebo7-common
gazebo7-plugin-base gir1.2-gtk-2.0 libapr1 libapr1-dev
libaprutil1 libaprutil1-dev libarmadillo6 libassimp-dev libassimp3v5
libboost-atomic1.58.0 libboost-chrono1.58.0
libboost-context1.58.0 libboost-coroutine1.58.0
libboost-graph-parallel1.58.0 libboost-graph1.58.0
libboost-locale1.58.0 libboost-log1.58.0 libboost-math1.58.0
libboost-mpi-python1.58.0 libboost-mpi1.58.0
libboost-python1.58.0 libboost-random1.58.0 libboost-regex1.58.0
libboost-signals1.58.0 libboost-test1.58.0
libboost-thread1.58.0 libboost-timer1.58.0 libboost-tools-dev
libboost-wave1.58.0 libboost1.58-tools-dev
libbullet-dev libbulletcollision2.83.6 libbulletdynamics2.83.6
libbulletsoftbody2.83.6 libbz2-dev
libcollada-dom2.4-dp-dev libcollada-dom2.4-dp0 libconsole-bridge-dev
libconsole-bridge0.2v5 libcurl4-openssl-dev
libdap-dev libdap17v5 libdapclient6v5 libdapserver7v5 libepsilon1
libflann-dev libflann1.8 libfltk-cairo1.3
libfltk-forms1.3 libfltk-images1.3 libfltk1.3-dev libfreeimage-dev
libfreeimage3 libfreexl1 libgazebo7 libgdal-dev
libgdal1i libgeos-3.5.0 libgeos-c1v5 libgeos-dev libgl2ps-dev
libgtest-dev libgtk2.0-dev libgts-0.7-5 libgts-bin
libgts-dev libhdf4-0-alt libhdf4-alt-dev libhdf5-mpi-dev
libignition-math2 libignition-math2-dev libinput-dev
libjs-jquery-ui libjsoncpp-dev libjxr0 libkmlbase1 libkmldom1
libkmlengine1 libldap2-dev liblinearmath2.83.6
liblog4cxx-dev liblog4cxx10-dev liblog4cxx10v5 liblz4-dev libminizip1
libnetcdf-c++4 libnetcdf-cxx-legacy-dev
libnetcdf-dev libnetcdf11 libogdi3.2 libogre-1.9.0v5 libopenni-dev
libopenni-sensor-pointclouds0 libopenni0
.......
,and it may cause a lot of damage if continuing,so the question is
|*How to purge default boost-v1.58 then switch to the built version
without any damages?*|