Como instalo a versão mais recente do cmake na linha de comando?

48

Estou tentando instalar o mais recente cmake na minha caixa linux e estou sempre recebendo a exceção abaixo -

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...

Está sempre tentando novamente ... Alguma idéia?

Alguém sabe o que estou fazendo errado aqui? Ou existe alguma maneira melhor de instalar a versão mais recente do cmake na minha caixa 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
    
por SSH 08.10.2013 / 23:47

6 respostas

15

Provavelmente o servidor em www.cmake.org estava muito ocupado. Você pode tentar novamente ou baixar o arquivo usando seu navegador da Web.

Existe, no entanto, uma maneira muito mais simples:

sudo apt-get install cmake

Atualização: comentaristas apontam que "o Ubuntu 12.04 está enviando apenas v2.8.7" e "14.04 ainda está enviando 2.8" . Por uma razão: 12.04 e 14.04 são versões LTS do Ubuntu. As versões LTS se destinam a permanecer estáveis por 5 anos, por isso recebem apenas atualizações críticas e de segurança, não as versões mais recentes dos pacotes. Lançamentos normais saem a cada 6 meses e, portanto, são mais propensos a vir com um cmake recente.

    
por zwets 09.10.2013 / 00:15
74

A situação mais comum é quando você deseja instalar a versão mais recente do cmake , mas os repositórios do seu sistema operacional não são atualizados. Por exemplo, no meu caso eu tenho um laptop rodando Ubuntu 16.04 , e quando eu executei o comando sudo apt install cmake a versão instalada era 3.5.1 ; em vez de, 3.11.2 que é a versão atual em cmake.org .

Como posso obter a versão mais recente?

Bem, podemos instalá-lo seguindo estas etapas simples:

Construção e instalação (recomendado)

  1. Desinstale a versão padrão fornecida pelo gerenciador de pacotes do Ubuntu:

    sudo apt remove cmake
    sudo apt purge --auto-remove cmake
    
  2. Acesse a página oficial do CMake , baixe e extraia a versão mais recente. Atualize as variáveis version e build no comando a seguir para obter a versão desejada:

    version=3.11
    build=2
    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/
    
  3. Instale a fonte extraída executando:

    ./bootstrap
    make -j4
    sudo make install
    
  4. Teste sua nova versão cmake .

    $ cmake --version
    

    Resultados de cmake --version :

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

Usando arquivos binários ( cmake-gui não funciona bem)

  1. Desinstale a versão padrão fornecida pelo gerenciador de pacotes do Ubuntu:

    sudo apt remove cmake
    sudo apt purge --auto-remove cmake
    
  2. Vá para a página oficial do CMake , baixe e instale a última .sh versão em %código%. Atualize as variáveis opt/cmake e version no comando a seguir para obter a versão desejada:

    version=3.11
    build=2
    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
    
  3. Adicione o link binário instalado a build executando este:

    sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
    
  4. Teste sua nova versão /usr/local/bin/cmake .

    $ cmake --version
    

    Resultados de cmake :

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

Nota

No 3.11.X, o X representa a última parte da versão que definimos como build. A compilação pode mudar se cmake for atualizado. De acordo com a página oficial, o Último Lançamento é 3.11.2 . Se você quer que o Lançamento anterior 3.10.3 apenas substitua a versão e crie parâmetros como este:

    version=3.10
    build=3
    
por Teocci 28.12.2016 / 08:50
33

Primeiro desinstale qualquer pacote cmake instalado anteriormente. Então:

  1. Acesse o link e faça o download do instalador mais recente do .sh

  2. Instale-o (por exemplo) em opt/cmake executando

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Adicione o diretório cmake bin ao seu caminho: link

Instalado desta maneira, cmake-gui parece um pouco horrível, se você encontrar uma maneira de corrigir isso, sinta-se à vontade para editar esta resposta.

    
por Antonio 11.03.2015 / 10:00
13

Apenas no caso de alguém precisar instalar o CMAKE mais recente em uma imagem do docker (como eu ..). Neste caso, é 3.7.2, mas você pode verificar aqui link como já foi apontado

#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
    
por Paolo Vigori 04.03.2017 / 12:15
4

Você também pode executar o seguinte:

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 -)

Este script

  • busca fazer 3.0.2 ** se já tiver sido baixado nesta sessão, você poderá reutilizá-lo se não tiver concluído a instalação
  • então copia faz o link para o bin cmake .
por test30 03.10.2014 / 01:11
2

Remova a versão antiga usando:

apt-get purge cmake

Faça o download da versão binária de cmake arquivada em um tarball. Você pode usar a nova versão de cmake adicionando seu caminho de diretório bin a $PATH . Uma solução alternativa é extrair tar.gz package e ir para o diretório criado após a extração e executar os seguintes comandos:

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

O segundo método é o mesmo que o processo de instalação que o .deb package faz!

    
por SuB 20.11.2016 / 11:02