Come installare cmake 3.2 su Ubuntu


119

La versione predefinita di cmake di 14.04 è 2.8. Come posso installare cmake 3.2 e sostituire quello predefinito? O come posso aggiornare da 2.8 a 3.2?


2
Tenere presente che alcuni pacchetti installati dal sistema non funzioneranno correttamente con cmake 3.2 su 14.04. Ad esempio, Eigen installa i suoi moduli CMake in /usr/share/cmake-2.8, dove ovviamente non possono essere trovati da CMake 3.2.
Martin Pecka,

Risposte:


185

Utilizzare un PPA o compilarlo da soli:

  1. Installazione tramite PPA (aggiornamento a 3.2)

    sudo apt-get install software-properties-common
    sudo add-apt-repository ppa:george-edison55/cmake-3.x
    sudo apt-get update
    
    • Quando cmake non è ancora installato:

      sudo apt-get install cmake
      
    • Quando cmake è già installato:

      sudo apt-get upgrade
      
  2. Compilalo tu stesso

    Attualmente, l'ultima versione è la 3.2.2, le seguenti istruzioni basate su questa versione. Pertanto, è necessario controllare questo URL e modificare di conseguenza il nome del file.

    sudo apt-get install build-essential
    wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz
    tar xf cmake-3.2.2.tar.gz
    cd cmake-3.2.2
    ./configure
    make
    

    Ora puoi scegliere un tipo di installazione per decidere, ti consiglio di installarlo checkinstall, poiché questo crea un pacchetto DEB.

    • Con checkinstall

      sudo apt-get install checkinstall
      sudo checkinstall
      
    • Con make install

      sudo make install
      

9
Il primo metodo non funziona per me. Eseguo sia install che upgrade ed entrambi non funzionano. Installa dal sorgente funziona e mi piace l'approccio per l'installazione come pacchetto .deb.
ycshao,

15
Sì, il primo metodo non funziona neanche per me.
weberc2,

Il metodo 1 non funziona e ho dovuto eliminare il pacchetto cmake per tornare a un cmake funzionante (2.8) reinstallando. Il metodo 2 funziona bene.
user2746401

3
Il metodo 1 inizialmente non ha funzionato per me (è installato, ma cmake non ha funzionato correttamente a causa di cose come CMAKE_ROOT non trovato), ma dopo aver rimosso il pacchetto cmake (così come cmake-data per ogni evenienza) e reinstallando 3.2 attraverso apt-get ha funzionato bene.
JAB

Oh, e se non lo hai add-apt-repository(no, presumibilmente perché stavo installando su una macchina virtuale ridotta), devi installare il software-properties-commonpacchetto.
JAB

31

Esistono tre opzioni:

  • installare da un PPA
  • installa la distribuzione binaria pre-costruita da cmake.org
  • compilalo tu stesso

Installazione da PPA

sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt-get update

Quando cmake non è già installato:

sudo apt-get install cmake

Quando cmake è già installato:

sudo apt-get upgrade

Installazione da cmake.org distrubtion binaria

curl -sSL https://cmake.org/files/v3.5/cmake-3.5.2-Linux-x86_64.tar.gz | sudo tar -xzC /opt

Gli eseguibili di CMake saranno presenti /opt/cmake-3.5.2-Linux-x86_64/bin/.

Compilalo tu stesso

Attualmente, l'ultima versione è 3.5.2, le seguenti istruzioni basate su questa versione. Pertanto, è necessario controllare la pagina di download e modificare di conseguenza il nome del file.

sudo apt-get install build-essential
wget http://www.cmake.org/files/v3.5/cmake-3.5.2.tar.gz
tar xf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./configure
make

Ora puoi scegliere un tipo di installazione per decidere, ti consiglio di installarlo checkinstall, poiché questo crea un pacchetto DEB.

  • con checkinstall

    sudo apt-get install checkinstall
    sudo checkinstall
    
  • con make install

    sudo make install
    

2
Aggiunge un'opzione "Installazione da distrazione binaria di cmake.org". Migliora anche la formattazione e porta l'URL di download di cmake alla versione più recente. Ho provato a modificare la risposta accettata ma le mie modifiche non sono state accettate dall'autore.
nocnokneo,

13

Non sono sicuro di essere in ritardo alla festa, ma recentemente su Ubuntu 14.04 ho affrontato gli stessi problemi e questo è il modo in cui l'ho risolto. Innanzitutto, è necessario rimuovere quello esistente cmakeeseguendo il comando:

sudo apt-get remove cmake

Hit returno enter. Successivamente, è necessario installare cmake3utilizzando i seguenti comandi:

sudo apt-get update 

sudo apt-get upgrade 

sudo apt-get install cmake3

Supponendo che la mia risposta invecchierà tra pochi anni, considera la ricerca di un pacchetto cmake a cui sia associato un numero. Ad esempio, in questo momento, cmake3 funziona per me.

Per fare ciò, tutto ciò che devi eseguire è

apt-cache search cmake

Una volta trovato il pacchetto, basta installare come suggerito.

Grazie
Happy Coding!


Sì, sudo apt-get install cmakefunziona semplicemente bene.
Eric Wang,

@EricWang Sì, Eric, ora con Ubuntu 16.04 e versioni successive funziona benissimo.
Fennec,

1
Questa deve essere una risposta accettata
Tessaracter,

8

Prova a costruirlo dal sorgente, installalo e regola le variabili $ PATH per renderlo disponibile. Forse dovresti aggiungere le variabili esportate al tuo bashrc. Questo è fondamentalmente il modo in cui lo farei, per favore cambia i nomi di file e cartelle in base alle tue esigenze:

sudo apt-get install build-essential
wget http://url.to/cmake-3.2-src.tar.gz
tar xzf cmake-3.2-src.tar.gz
cd cmake-3.2-src
./configure
make
# If make finishes without errors:
sudo make install
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
cmake --version # This should give v3.2

1
L'URL non funziona.
AB,

3
Un URL funzionante non indicherà le versioni più recenti in futuro, controlla il sito Web di cmake per la versione più recente.
Oliver R.,

1

Basta installare le ultime da sh da https://cmake.org/download/

cd /usr
sudo wget https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh -P /usr/
sudo chmod 755 /usr/cmake-3.8.2-Linux-x86_64.sh
sudo ./cmake-3.8.2-Linux-x86_64.sh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.