web-dev-qa-db-fra.com

Erreur CMake: Impossible de trouver CMAKE_ROOT?

J'essaie de construire un projet github en utilisant cmake et j'ai eu beaucoup de problèmes. Je crée un répertoire de construction et appelle cmake comme suit:

cd github_project_directory
mkdir build
cd build
cmake ..

C'est l'erreur que j'obtiens:

CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/usr/bin
CMake Error: Error executing cmake::LoadCache(). Aborting.

Je pense qu'il y a un problème avec la façon dont cmake est installé mais je n'arrive pas à le comprendre. J'ai essayé de désinstaller et de réinstaller mais ... Je pense que cela aurait pu créer encore plus de problèmes.

Je suis sur Ubuntu 14.04. Heureux de fournir plus d'informations au besoin.

Je vous remercie!

4
ellen

La même erreur se produisait pour quoi que ce soit cmake, y compris cmake --version, et les réponses "Réinstaller cmake et cmake-data, puis redémarrer votre shell" ne fonctionnaient pas. J'ai donc essayé de définir manuellement CMAKE_ROOT sur le chemin d'accès de dpkg -L cmake-data contenant le répertoire Modules.

export CMAKE_ROOT=/usr/share/cmake-3.5

Cela a permis à cmake --version de fonctionner, ce qui a révélé que je traitais en quelque sorte avec un cmake qui se présentait sous le nom de cmake 2.x, mais un package cmake-data qui créait un dossier cmake-3.5 pour ses ressources.

Il s'est avéré que l'un de mes PPA offrait cmake 3.5 aux mêmes noms de paquet que 14.04 utilise pour cmake 2.8 et, en raison d'un conflit de dépendance, le paquet cmake-data avait été mis à niveau à 3.5, mais le paquet cmake était retenu à 2.8.

Les lignes suivantes ont fonctionné pour moi:

Sudo apt-get remove cmake cmake-data
Sudo apt-get install cmake3 cmake3-data
2
ssokolow

Je devais réinstaller mon cmake pour corriger cette même erreur.

Sudo apt-get remove cmake cmake-data
Sudo -E add-apt-repository -y ppa:george-edison55/cmake-3.x
Sudo -E apt-get update
Sudo apt-get install cmake

Ensuite, assurez-vous de re-source votre rc.

. ~/.bashrc
1
D M Lowe