J'ai tout essayé comme:
Sudo apt-get install libboost-all-dev
Mais toujours avoir les erreurs suivantes:
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.
Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
CMakeLists.txt:147 (find_package)
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.
Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Répertoire de code source pour boost: /usr/local/src/boost_1_45_0
Chemin de la bibliothèque de boost: /usr/local/lib
Fichier d'en-tête de boost: /usr/local/include/boost
Voici bashrc file
:
BOOST_ROOT="/usr/local/src/boost_1_45_0"
Boost_LIBRARY_DIRS="/usr/local/lib"
BOOST_INCLUDEDIR="/usr/local/src/boost_1_45_0"
Comment résoudre ces erreurs? Est-ce que je manque quelque chose?
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDTOOLCHAIN -DBOOST_ROOT=/usr/local/src/boost_1_45_0 -DBOOST_INCLUDEDIR=/usr/local/include/boost -DBOOST_LIBRARYDIR=/usr/local/lib -DPYTHON_LIBRARIES=/usr/local/lib/python2.7 -DPYTHON_INCLUDE_DIRS=/usr/include/python2.7 -DCMA-DRDK_BUILD_PYTHON_WRAPPERS=
Essayez de terminer le processus cmake avec les bibliothèques suivantes:
Sudo apt-get install cmake libblkid-dev e2fslibs-dev libboost-all-dev libaudit-dev
J'utilise ceci pour configurer boost de cmake dans mon CMakeLists.txt
. Essayez quelque chose de similaire (assurez-vous de mettre à jour les chemins d'accès à votre installation de boost).
SET (BOOST_ROOT "/opt/boost/boost_1_57_0")
SET (BOOST_INCLUDEDIR "/opt/boost/boost-1.57.0/include")
SET (BOOST_LIBRARYDIR "/opt/boost/boost-1.57.0/lib")
SET (BOOST_MIN_VERSION "1.55.0")
set (Boost_NO_BOOST_CMAKE ON)
FIND_PACKAGE(Boost ${BOOST_MIN_VERSION} REQUIRED)
if (NOT Boost_FOUND)
message(FATAL_ERROR "Fatal error: Boost (version >= 1.55) required.")
else()
message(STATUS "Setting up BOOST")
message(STATUS " Includes - ${Boost_INCLUDE_DIRS}")
message(STATUS " Library - ${Boost_LIBRARY_DIRS}")
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
endif (NOT Boost_FOUND)
Ceci recherchera soit les chemins par défaut (/usr
, /usr/local
), soit le chemin fourni via les variables cmake (BOOST_ROOT
, BOOST_INCLUDEDIR
, BOOST_LIBRARYDIR
). Cela fonctionne pour moi sur cmake> 2.6.
il semble que la réponse se trouve dans les commentaires et en tant que modification, mais pour clarifier cela devrait fonctionner pour vous:
export BUILDDIR='your path to build directory here'
export SRCDIR='your path to source dir here'
export BOOST_ROOT="/opt/boost/boost_1_57_0"
export BOOST_INCLUDE="/opt/boost/boost-1.57.0/include"
export BOOST_LIBDIR="/opt/boost/boost-1.57.0/lib"
export BOOST_OPTS="-DBOOST_ROOT=${BOOST_ROOT} -DBOOST_INCLUDEDIR=${BOOST_INCLUDE} -DBOOST_LIBRARYDIR=${BOOST_LIBDIR}"
(cd ${BUILDDIR} && cmake ${BOOST_OPTS} ${SRCDIR})
vous devez spécifier les arguments sous forme d'arguments de ligne de commande ou vous pouvez utiliser un fichier d'outils pour cela, mais cmake ne touchera pas vos variables d'environnement.
Essayez d’ajouter -DBoost_DEBUG=TRUE
à votre ligne de commande cmake
pour voir où la macro FindBoost
effectue une recherche.
Je tiens simplement à souligner que la macro FindBoost recherche peut-être une version antérieure, par exemple la 1.58.0 alors que la version 1.60.0 est installée. Je suggère d'ouvrir la macro FindBoost à partir de tout ce que vous essayez de créer et de vérifier si c'est le cas. Vous pouvez simplement le modifier pour inclure votre version particulière. (C'était mon problème.)
Merci Paul-g pour vos conseils. Pour ma part c'était un peu différent.
J'ai installé Boost en suivant l'étape 5 suivante: https://www.boost.org/doc/libs/1_59_0/more/getting_started/unix-variants.html
Et puis j'ajoute le répertoire PATH dans "FindBoos.cmake", situé dans /usr/local/share/cmake-3.5/Modules:
SET (BOOST_ROOT "../boost_1_60_0") SET (BOOST_INCLUDEDIR "../boost_1_60_0/boost") SET (BOOST_LIBRARYDIR "../boost_1_60_0/libs") SET (BOOST_MIN_VERSION "1.55.0") set (Boost_NO_BOOST_CMAKE ON)
J'ai eu la même erreur la première fois que je voulais installer LightGBM sur Python (version GPU).
Vous pouvez simplement le réparer avec cette ligne de commande:
Sudo apt-get install cmake libblkid-dev e2fslibs-dev libboost-all-dev libaudit-dev
les librairies boost seront installées et vous pourrez continuer votre processus d'installation.