Comment installer la dernière version de cmake à partir de la ligne de commande?

87

J'essaye d'installer le dernier cmakedans ma boîte de linux et j'obtiens toujours l'exception ci-dessous -

userName@phx5qa01c-4e23:~/build$ wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
--2013-10-08 14:39:55--  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Resolving www.cmake.org... 66.194.253.19
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.

--2013-10-08 14:40:17--  (try: 2)  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.

--2013-10-08 14:40:40--  (try: 3)  http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80...

Il est toujours réessayer ... Des pensées?

Est-ce que quelqu'un sait ce que je fais de mal ici? Ou existe-t-il un meilleur moyen d'installer la dernière version de cmake dans ma boîte Linux?

userName@phx5qa01c-4e23:~/build$ uname -a
Linux phx5qa01c-4e23 2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux
SSH
la source
Êtes-vous sûr qu'aucun pare-feu ne bloque votre connexion? Pourquoi utiliser wget? Essayez de télécharger ce fichier ( cmake.org/files/v2.8/cmake-2.8.11.tar.gz ) à l'aide d'un navigateur Web.
Eric Carvalho
Question similaire ici: askubuntu.com/questions/610291/… avec une bonne réponse.
Vue elliptique
Je pense que votre question est "Comment installer la dernière version de cmake sous Linux" mais la commande sudo apt-get install cmaken’installe pas la dernière version.
Teocci

Réponses:

23

Le serveur de www.cmake.org était probablement très occupé. Vous pouvez réessayer ou télécharger le fichier à l’aide de votre navigateur Web.

Il existe cependant un moyen beaucoup plus simple:

sudo apt-get install cmake

Mise à jour: les commentateurs soulignent que "Ubuntu 12.04 n’expédie que la version 2.8.7" et que "14.04 est toujours en cours d’ exécution 2.8" . C’est pour une raison: 12.04 et 14.04 sont des versions LTS d’Ubuntu. Les versions LTS sont censées rester stables pendant 5 ans. Elles ne reçoivent donc que des mises à jour critiques et de sécurité, et non les dernières versions des packages. Les rejets normaux sont publiés tous les 6 mois et sont donc plus susceptibles de se produire avec un médicament récent.

zwets
la source
3
Ubuntu 12.04 n’expédie que v 2.8.7 de cmake avec apt-get. La version actuelle de la version 2 est la 2.8.12. Je vous suggère de persévérer pour le construire à partir de la source.
Richard Hodges
52
Ce n'est pas la bonne réponse. La dernière version n'est presque jamais sur apt.
Senjai
3
14.04 toujours en livraison 2.8
Stolas
4
Cette réponse est fausse. La stratégie StableReleaseUpdates ne concerne pas uniquement les versions LTS. Toutes les versions d'Ubuntu, une fois publiées, n'obtiennent que des correctifs pour des vulnérabilités de sécurité ou des bogues sérieux. Comme indiqué ici (et sur le tableau de bord ), même les versions non LTS n'ont pas reçu de nouvelles cmakeversions. Des backports séparés pour certains packages existent (mais pas cmake).
Eliah Kagan
10
Cette réponse est fausse car sudo apt-get install cmake, en soi, ne passe jamais cmakeà une version plus récente. Cela ne fonctionne sur aucune version d'Ubuntu. Si votre réponse est réellement "mettez à niveau votre système Ubuntu vers une version plus récente", vous voudrez peut-être éditer à nouveau pour que cela soit plus clair. (Cela ne serait pas une solution raisonnable pour de nombreux utilisateurs, cependant, et souvent il n'y a pas de version publiée d'Ubuntu dont les référentiels ont la dernière version de cmake.)
Eliah Kagan
160

La situation la plus courante est celle où vous souhaitez installer la dernière version de cmake , alors que les référentiels de votre système d'exploitation ne sont pas mis à jour. Par exemple, dans mon cas, j'ai un ordinateur portable sous Ubuntu 16.04 , et lorsque j'ai exécuté la commande, sudo apt install cmakela version installée était 3.5.1 ; au lieu de 3.15.4 qui est la version actuelle de cmake.org .

Comment puis-je obtenir la dernière version?

Nous pouvons l’installer en suivant l’une des méthodes suivantes: Construction et installation ou Utilisation de fichiers binaires .

A. Construction et installation (recommandé)

A-1. Désinstallez la version par défaut fournie par le gestionnaire de paquets d'Ubuntu et la configuration à l'aide de:

sudo apt remove --purge --auto-remove cmake

ou:

sudo apt purge --auto-remove cmake

A-2. Allez sur la page Web officielle de CMake , puis téléchargez et extrayez la dernière version. Mettez à jour les variables versionet builddans la commande suivante pour obtenir la version souhaitée:

version=3.15
build=4
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build/

A-3. Installez la source extraite en lançant:

./bootstrap
make -j$(nproc)
sudo make install

A-4. Testez votre nouvelle cmakeversion.

$ cmake --version

Résultats de cmake --version:

cmake version 3.15.X

CMake suite maintained and supported by Kitware (kitware.com/cmake).

B. Utilisation de fichiers binaires ( cmake-guine fonctionnera pas bien)

B-1. Désinstallez la version par défaut fournie par le gestionnaire de paquets d'Ubuntu comme dans A-1 .

B-2. Allez sur la page Web officielle de CMake , puis téléchargez et installez la dernière .shversion en format opt/cmake. Mettez à jour les variables versionet builddans la commande suivante pour obtenir la version souhaitée:

version=3.15
build=4
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh 
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake

B-3. Ajoutez le lien binaire installé à /usr/local/bin/cmakeen exécutant ceci:

sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake

B-4. Testez votre nouvelle cmakeversion comme dans A-4 .

Remarque

En 3.15.X, le X représente la dernière partie de la version définie par build. La construction peut changer si cmake est mis à jour. Selon la page Web officielle, la dernière version est la 3.15.4 . Si vous voulez que la version précédente 3.14.7 remplace simplement la version et construisez les paramètres comme ceci:

version=3.14
build=7
Teocci
la source
14
La commande make install nécessite des privilèges root. La commande cmake --version ne fonctionne qu'après l'ouverture d'un nouveau terminal, car cmake est installé sous / usr / local / bin / par défaut, pas / usr / bin /.
HD189733b
@Teocci, cela fait longtemps que j'essaie de le faire et seule votre décision m'a aidé. Merci beaucoup !!!))))))))
neo
Je suis content que cette réponse vous ait aidé. Bon codage et tout le meilleur.
Teocci
2
Ce n'est pas une solution pour UPDATE mais pour INSTALLER cmake. Essayez cette commande ou allez-y sur Google pour trouver une solution:sudo apt-get remove cmake cmake-data
Teocci
1
Note pour construire également l'outil cmake-gui, ajoutez --qt-gui à la commande bootstrap.
Richard Whitehead
41

Commencez par désinstaller tout paquet cmake précédemment installé. Ensuite:

  1. Allez sur http://www.cmake.org/download/ et téléchargez le dernier programme d'installation .sh

  2. Installez-le (par exemple) en opt/cmakeexécutant

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Ajoutez le répertoire bin de cmake à votre chemin: https://askubuntu.com/a/170240/359343

Installé de cette manière, a l' cmake-guiair un peu horrible, si vous trouvez un moyen de le réparer, n'hésitez pas à modifier cette réponse.

Antonio
la source
7
Ajoutez un lien de / usr / local / bin / cmake au binaire installé. De cette façon, il n'est pas nécessaire de changer le PATH. sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
Christian
2
C'est la meilleure réponse.
SuB
3
vraiment, c'est la réponse la plus utile pour la question initiale
amigo421
Cela me donne un cmake-gui cassé, qui ne fonctionne pas sur xRDP (la version précédente a fonctionné), et xRDP est le seul moyen d'accéder au serveur.
Stiv
@stiv 1. Avez-vous vérifié une cmakefois que l'installation est opérationnelle et que vous n'avez aucune autre cmakeversion dans votre chemin? 2. Pouvez-vous vérifier si vous utilisez le cmake-gui fourni dans l’installation, et non une version plus ancienne? (Pour connaître la version, ajouter --versionà la ligne de commande)
Antonio
23

Juste au cas où quelqu'un aurait besoin d'installer la dernière version de CMAKE dans une image de menu fixe (comme moi ...). Dans ce cas, il s'agit de 3.7.2, mais vous pouvez vérifier ici https://cmake.org/download/ comme déjà indiqué.

#install latest cmake
ADD https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh /cmake-3.7.2-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.7.2-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version
Paolo Vigori
la source
3
Nice, non documenté - option
skip
14

J'aime la manière suivante parce que vous pouvez obtenir une version récente sans trop de peine.

Kitware semble officiellement soutenir un communiqué de roues de pépin. Donc, vous pouvez obtenir le dernier cmake simplement en faisant:

pip installer --upgrade cmake

Voici le blog à ce sujet: https://blog.kitware.com/cmake-python-wheels/

Juan Leni
la source
7

Kitware a maintenant un référentiel APT qui supporte actuellement Ubuntu 16.04 et 18.04

Instructions d'installation:

  1. Supprimer l'ancienne version de cmake

    sudo apt purge --auto-remove cmake
    
  2. Obtenir une copie de la clé de signature

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  3. Ajoutez le référentiel à votre liste de sources

    une. Pour Ubuntu Bionic Beaver (18.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    

    b. Pour Ubuntu Xenial Xerus (16.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. Mettre à jour et installer

    sudo apt update
    sudo apt install cmake
    
Himel
la source
4

Vous pouvez également exécuter les tâches suivantes:

export fn=/tmp/cmake.sh && ls $fn && (echo "use previous $fn? Enter for yes, ctrl+d for no." && read) || (wget -O $fn http://www.cmake.org/files/v3.0/cmake-3.0.2-Linux-i386.sh 1>&2) && (cd /opt && sudo bash ${fn} && echo sudo ln -f -s /opt/cmake*/bin/cmake /usr/local/bin/cmake && cd -)

Ce script

  • va chercher make 3.0.2 ** s'il a déjà été téléchargé dans cette session, vous pourrez le réutiliser si vous n'avez pas terminé l'installation
  • alors il copie fait lien vers la corbeille cmake.
test30
la source
3

Pour un conteneur Docker, la meilleure exécution

RUN wget -qO- "https://cmake.org/files/v3.12/cmake-3.12.1-Linux-x86_64.tar.gz" | \
  tar --strip-components=1 -xz -C /usr/local

Ajustez la version, si nécessaire.

Sébastien
la source
2

Supprimer l'ancienne version à l'aide de:

apt-get purge cmake

Télécharger la version binaire de l' cmakearchive dans une archive. Vous pouvez utiliser la nouvelle version de cmakeen ajoutant son binchemin de répertoire à $PATH. Une autre solution consiste à extraire le tar.gzpackage et à accéder au répertoire créé après l'extraction, puis à exécuter les commandes suivantes:

cp -r bin /usr/
cp -r doc /usr/share/
cp -r man /usr/share/
cp -r share /usr/

La deuxième méthode est la même que le processus d’installation, quel .debpaquet fait!

Sous
la source
1

Installez la dernière version de cmake à partir des backports, où de nombreuses versions récentes résident. Les backports particuliers dépendent de votre version actuelle du système d'exploitation. Par exemple, en exécutant Debian Stretch, ajoutez ce qui suit dans /etc/apt/sources.list

deb http://ftp.debian.org/debian stretch-backports main

Puis installez à partir de ce backport, aka:

sudo apt-get -t stretch-backports install -y cmake
jeffmcneill
la source
0

Vous pouvez trouver des versions très récentes de cmake via snap. Par exemple, au moment de l'écriture de cette réponse, la dernière version de cmake est la 3.15.3 et snap, la version 3.15.2.

sudo apt-get purge cmake
sudo snap install cmake --classic
qwr
la source
0

La réponse de qwr à utiliser snap peut être bonne, mais si vous voulez quelque chose de plus récent, cmake facilite la création d’un DEB à partir de la source. Ce qui suit suppose qu'un cmake récent est déjà installé. Le programme d’installation de Ubuntu 18.04 fonctionnera certainement ici.

sudo apt-get build-dep cmake
git clone http://www.cmake.org/cmake.git
cd cmake
git tag
# find the highest tagged release value (hint, rarely at the bottom)
git co tags/<highest tagged release value>
mkdir build
cd build
cmake ..
cmake --build .
cpack -G DEB
# you built a single deb that has what Ubuntu provides as two debs, the binary
# deb and the additional architecture independent data files
sudo apt remove cmake-data
sudo dpkg -i cmake-<highest tagged release value>-Linux-x86_64.deb
mheyman
la source