Notă despre utilizarea metodelor proaste
Executarea comenzilor ca
sudo rm -f /lib/x86_64-linux-gnu/libboost_*
sudo rm -rf /lib/x86_64-linux-gnu/libboost_*
este absolut greșit. NU FACE ASTA!
Astfel de fișiere de bibliotecă sunt controlate de APT, ar trebui să îi cereți mai întâi APT să elimine astfel de fișiere.
Dacă ați compilat aceste biblioteci manual, atunci ați făcut-o greșit. Ele ar trebui să fie plasate în /usr/local/lib
prefix. Nu este controlat de APT.
Notă despre „boost::placeholders”
Într-adevăr, acest spațiu de nume este folosit atât în Boost 1.67 și 1.71 care sunt expediat cu Ubuntu 20.04 LTS din depozitele oficiale. Pentru o dezvoltare de succes bazată pe Boost, trebuie să instalați următoarele pachete de dezvoltare:
Pentru 1.71 deja instalat -
sudo apt-get install libboost1.71-all-dev --reinstall
Pentru o posibilă alternativă 1.67 -
sudo apt-get install libboost1.67-all-dev
Note suplimentare
Dacă înțelegi cu adevărat ce încerci să faci, citește mai jos.
Puteți folosi următoarea linie pentru a elimina TOATE aparițiile lui Boost 1.71:
sudo apt autopurge $(dpkg -l | grep boost | grep 1.71 | awk '{print $2}')
Doar pentru a elimina libboost_thread.so.1.71.0
trebuie sa executi:
sudo apt purge libboost-thread1.71.0
dacă comanda de mai sus nu reușește, atunci mergeți la nivelul inferior și executați ca alternativă
sudo dpkg --purge --force-all libboost-thread1.71.0
și apoi fugi
sudo apt-get install -f
sudo dpkg --configure -a