Note about using bad methods
Execution of commands like
sudo rm -f /lib/x86_64-linux-gnu/libboost_*
sudo rm -rf /lib/x86_64-linux-gnu/libboost_*
is absolutely wrong. DO NOT DO THIS!
Such library files are controlled by APT, you should ask APT to remove such files first.
If you have compiled these libraries manually, then you did it wrong. They should be placed in the /usr/local/lib
prefix. It is not controlled by APT.
Note about 'boost::placeholders'
Really this namespace is used in both Boost 1.67 and 1.71 which are shipped with your Ubuntu 20.04 LTS from official repositories. For successful Boost-based development you then have to install the following development packages:
For already installed 1.71 -
sudo apt-get install libboost1.71-all-dev --reinstall
For possible 1.67 alternative -
sudo apt-get install libboost1.67-all-dev
Further notes
If you are really understand what are you trying to do then read below.
You can use the following one-liner to remove ALL occurrences of Boost 1.71:
sudo apt autopurge $(dpkg -l | grep boost | grep 1.71 | awk '{print $2}')
To remove only libboost_thread.so.1.71.0
you have to execute:
sudo apt purge libboost-thread1.71.0
if the above command fails, then go lower level and execute as fallback
sudo dpkg --purge --force-all libboost-thread1.71.0
and then run
sudo apt-get install -f
sudo dpkg --configure -a