J’essaie donc d’installer ncmpcpp à travers ce github , et la première étape consiste à exécuter le script sh autogen.sh
. J’ai rencontré quelques bibliothèques manquantes, etc., mais j’ai pu les installer et continuer jusqu’à maintenant. J’ai fait quelques recherches et installé une poignée de choses qui, selon moi, aideraient à résoudre ce problème, mais en vain.
sudo apt-get install libboost1.55-all-dev
sudo apt-get install libboost-system-dev
sudo apt-get install libboost-system1.54-dev
sudo apt-get install libboost1.54-dev
sudo apt-get install libboost-filesystem-dev
sudo apt-get install libboost-filesystem-dev libboost-thread-dev
La vérité est que je ne sais pas assez sur Boost ou sur ce qui me manque pour le réparer tout seul.
C’est là où commence le problème:
vérification de boost / filesystem.hpp … oui
vérification de main dans -lboost_filesystem-mt … non
configure: erreur: aucune bibliothèque boost.filesystem trouvée
edit: Voici les lignes environnantes à ‘-lboost_filesystem-mt’ dans le fichier config.log.
configure: 15510: recherche de main dans -lboost_filesystem-mt
configure: 15529: g ++ -o conftest -g -O2 -std = c ++ 0x conftest.cpp -lboost_filesystem-mt> & 5
/ usr / bin / ld: impossible de trouver -lboost_filesystem-mt
collect2: erreur: ld a renvoyé 1 état de sortie
configure: 15529: $? = 1
configure: échec du programme était:
| / * confdefs.h * /
… et ensuite il décrit le fichier confdefs.h.
Supprimez ces liens de configure.ac
(section “réglage de l’environnement de développement”):
AS_IF([test -z "${BOOST_LIB_SUFFIX+x}"], [BOOST_LIB_SUFFIX=-mt]) AC_ARG_VAR([BOOST_LIB_SUFFIX], [Boost library name suffix [default=-mt]])
Il y a longtemps, les bibliothèques Boost avaient un suffixe -mt
pour indiquer qu’elles étaient multithreading. Debian / Ubuntu a été abandonnée il y a quelques années. Peut-être que d’autres dissortingbutions l’ont conservé. Les noms de la bibliothèque Boost n’ont jamais été très standardisés, ce qui explique pourquoi configure
scripts de configure
essaient souvent de les gérer, souvent de manière fragmentée.
Vous pouvez soit supprimer ces deux lignes ou l’appeler comme ceci:
$ BOOST_LIB_SUFFIX="" ./autogen.sh
La solution appropriée consiste à convertir le script pour utiliser les macros Boost à partir de l’archive Autoconf .