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.