I am trying to remove completely Boost 1.71
. I need to downgrade to a previous working library as from the version Boost 1.71
I am receiving 'boost::placeholders' has not been declared
so I want to downgrade to Boost 1.66
.
After typing on the terminal the ldconfig
I am left with only one instance:
emanuele@emanuele-pc:~$ ldconfig -p | grep libboost
libboost_thread.so.1.71.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libboost_thread.so.1.71.0
I tried to remove it using:
sudo rm -f /lib/x86_64-linux-gnu/libboost_*
sudo rm -rf /lib/x86_64-linux-gnu/libboost_*
But still the libboost_thread
is there..
So I tried accessing via sudo synaptic
and tried to remove it from there but received the following broken package
warning:
Therefore thinking that there was something broken I did:
sudo apt-get update --fix-missing
udo apt-get install -f
but nothing...the libboost_thread
is still there.
How do I make sure everything is fully removed?
Note about using bad methods
Execution of commands like
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 -
For possible 1.67 alternative -
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:
To remove only
libboost_thread.so.1.71.0
you have to execute:if the above command fails, then go lower level and execute as fallback
and then run