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 these 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<std::__cxx11::basic_string<char>, 10ul>]’:
/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<std::__cxx11::basic_string<char>, 10ul>]’
/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<std::__cxx11::basic_string<char>, 10ul>]’
/usr/local/include/boost/archive/detail/oserializer.hpp:150:40:   required from ‘void boost::archive::detail::oserializer<Archive, T>::save_object_data(boost::archive::detail::basic_oarchive&, const void*) const [with Archive = boost::archive::text_oarchive; T = std::array<std::__cxx11::basic_string<char>, 10ul>]’
/usr/local/include/boost/archive/detail/oserializer.hpp:103:1:   required from ‘class boost::archive::detail::oserializer<boost::archive::text_oarchive, std::array<std::__cxx11::basic_string<char>, 10ul> >’
/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<std::__cxx11::basic_string<char>, 10ul>; 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<std::__cxx11::basic_string<char>, 10ul>; 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<std::__cxx11::basic_string<char>, 10ul>]’
/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<std::__cxx11::basic_string<char>, 10ul>; 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<std::__cxx11::basic_string<char>, 10ul>; 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<std::__cxx11::basic_string<char>, 10ul>; 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<std::__cxx11::basic_string<char>, 10ul>’ 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 purge 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?