2013-09-04 14 views
36

Ho installato il pacchetto CMake 2.8.11.2 dal sito Web di CMake per Mac a 64 bit. Recentemente abbiamo aggiornato un progetto da Qt 4 a Qt 5 e l'aggiornamento CMake è obbligatorio per CMake utilizzare Qt 5. Tuttavia, quando si digita cmake . ricevo il seguente errore:CMake manca la directory dei moduli

CMake Error: Could not find CMAKE_ROOT !!! 
CMake has most likely not been installed correctly. 
Modules directory not found in 
/Applications/CMake 2.8-11.app/Contents/bin 
CMake Error: Error executing cmake::LoadCache(). Aborting. 

posso confermare, non c'è directory dei moduli nella cartella bin. Non so davvero come risolvere questo errore, o come ottenere i moduli necessari.

+0

Si è già installata una versione precedente di CMake? A volte i collegamenti simbolici vengono incasinati su OS X che può causare strani errori come questo.Avresti dovuto ricevere un avvertimento a riguardo durante l'installazione. – ComicSansMS

risposta

35

Ho avuto lo stesso problema dopo l'aggiornamento su Ubuntu. Rimuovere cmake e il pacchetto cmake-data prima di eseguire l'aggiornamento lo ha risolto per me.

sudo apt-get remove cmake cmake-data 

Ora eseguire l'aggiornamento tramite

sudo -E add-apt-repository -y ppa:george-edison55/cmake-3.x 
sudo -E apt-get update 
sudo apt-get install cmake 
+2

You rock ..: D (Y) – ZdaR

+1

Ricordarsi di 'source ~/.bashrc' dopo averlo reinstallato in modo che il' CMAKE_ROOT' sia registrato nuovamente =) – alvas

+0

Su CentOS it mi ha aiutato anche Di default c'erano 2.8, ho installato 3.6.3 e ho avuto questo problema. Poi rimuovi uno che va con i repository (usando 'remove cmake cmake-data', come suggerito dall'autore), e' make install' di nuovo sulla versione costruita - tutto funziona. – Arkady

3

sono stato in grado di correggere questo errore su Linux (per gli altri che possono essere alla ricerca di risposte su Linux) durante il tentativo di aggiornare cmake 2.8.11 a 2.8.12 esportando la variabile CMAKE_ROOT ambiente in questo modo:

export CMAKE_ROOT=/path_to_install/cmake-2.8.12.2-Linux-i386/share/cmake-2.8 

Il share directory dovrebbe trovarsi allo stesso livello della directory bin.

8

Inoltre, è possibile incontrare lo stesso errore quando si esegue CMake da Cygwin. Ciò può essere causato da un profilo variabile /binPATH prima /usr/bin: in questo caso CMake viene lanciato come /bin/cmake anziché /usr/bin/cmake, e cercando di caricare moduli da //share/cmake-X.Y.Z (che è un percorso UNC su di Windows) anziché /usr/share/cmake-X.Y.Z.

export esplicitamente CMAKE_ROOT non è utile e cmake continua a visualizzare lo stesso messaggio fuorviante.

Il problema può essere risolto impostando PERCORSO su /usr/bin:/bin:/everything/else nel numero .bash_profile.

+1

Questo è stato molto utile, grazie! –

+1

CMake è così cerebralmente morto a volte. Sono arrivato al punto di provare ad esportare 'CMAKE_ROOT = C: \ Cygwin64 \ usr \ share \ cmake-3.6.2 \ Modules',' CMAKE_ROOT = C: /Cygwin64/usr/share/cmake-3.6.2/Modules 'e' CMAKE_ROOT =/usr/share/cmake-3.6.2/Modules'. Suppone ancora che 'CMAKE_ROOT' non sia impostato. Questo programma è così rotto a volte ... – jww

18

Questo ha funzionato per me:

cd cmake-3.4.3 

./bootstrap --prefix=/usr 

make 

sudo make install 
0

ho ottenuto lo stesso messaggio di errore aggiornamento CMake-3.5.1 a CMake-3.7.1 su Ubuntu 16.04.01 LTS. Ho appena aggiornato i repository con

sudo apt-get update 

Poi

cmake --version 

portato la versione CMake corretto e aggiornato e i messaggi di errore non c'era più.

15

Do hash -r per cancellare la cache, quindi fare cmake --version.

Dovrebbe funzionare.

+0

Di gran lunga la soluzione più semplice, ha funzionato per me! – threeve

+0

Questa è probabilmente la soluzione corretta se si modificano le versioni cmake tra pacchetto e origine. –

Problemi correlati