command-line – ¿Cómo instalo la última versión de cmake desde la línea de comandos?

Pregunta:

Estoy tratando de instalar el último cmake en mi caja de Linux y siempre cmake la siguiente excepción:

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

Siempre está volviendo a intentar … ¿Alguna idea?

¿Alguien sabe qué mal estoy haciendo aquí? ¿O hay alguna forma mejor de instalar la última versión de cmake en mi caja de 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

Respuesta:

La situación más común es cuando desea instalar la última versión de cmake , pero los repositorios de su sistema operativo no están actualizados. Por ejemplo, en mi caso tengo una computadora portátil con Ubuntu 16.04 , y cuando sudo apt install cmake el comando sudo apt install cmake la versión instalada era 3.5.1 ; en lugar de 3.22.1, que es la versión actual en cmake.org .

Teo, ¿cómo puedo obtener la última versión?

Bueno, podemos instalarlo siguiendo uno de estos métodos:

  • Uso de repositorios APT
  • Construir e instalar desde la fuente
  • Usando archivos binarios

A. Uso de repositorios APT (recomendado para usuarios normales)

Kitware ahora proporciona un repositorio APT que es compatible con Ubuntu 16.04, 18.04 y 20.04. Para que podamos instalarlo fácilmente siguiendo estos pasos:

A-1. Desinstale la versión predeterminada proporcionada por el administrador de paquetes y la configuración de Ubuntu usando:

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

o:

sudo apt purge --auto-remove cmake

A-2. Prepárese para la instalación

sudo apt update && \
sudo apt install -y software-properties-common lsb-release && \
sudo apt clean all

A-3. Obtenga una copia de la clave de firma del kit.

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null

A-4. Agregue el repositorio de kitware a su lista de fuentes para Ubuntu Focal Fossa (20.04), Ubuntu Bionic Beaver (18.04) y Ubuntu Xenial Xerus (16.04).

sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"

A-5. Como paso opcional, se recomienda que también kitware-archive-keyring el kitware-archive-keyring para asegurarnos de que el llavero de Kitware se mantenga actualizado mientras rotan sus claves.

sudo apt update
sudo apt install kitware-archive-keyring
sudo rm /etc/apt/trusted.gpg.d/kitware.gpg

A-6. Finalmente podemos actualizar e instalar el paquete cmake .

sudo apt update
sudo apt install cmake

B. Construcción e instalación (recomendado para desarrolladores)

Para este enfoque, debe instalar las herramientas GCC:

sudo apt update
sudo apt install build-essential libtool autoconf unzip wget

B-1. Desinstale la versión predeterminada proporcionada por el administrador de paquetes de Ubuntu como en A-1 .

B-2. Vaya a la página web oficial de CMake , luego descargue y extraiga la última versión. Actualice la version y build variables en el siguiente comando para obtener la versión deseada:

version=3.22
build=1
## don't modify from here
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/

B-3. Instale la fuente extraída ejecutando:

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

B-4. Pruebe su nueva versión de cmake .

$ cmake --version

Resultados de cmake --version :

cmake version 3.22.X

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

C. Usar archivos binarios (es posible que cmake-gui no funcione bien)

C-1. Desinstale la versión predeterminada proporcionada por el administrador de paquetes de Ubuntu como en A-1 .

C-2. Vaya a la página web oficial de CMake , luego descargue e instale la última versión .sh en opt/cmake . Actualice la version y build variables en el siguiente comando para obtener la versión deseada:

version=3.22
build=1
## don't modify from here
limit=3.20
result=$(echo "$version >= $limit" | bc -l)
os=$([ "$result" == 1 ] && echo "linux" || echo "Linux")
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-$os-x86_64.sh 
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-$os-x86_64.sh --prefix=/opt/cmake

C-3. Agregue el enlace binario instalado a /usr/local/bin/cmake ejecutando esto:

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

C-4. Pruebe su nueva versión de cmake como en B-4 .

Nota

En 3.22.X, la X representa la última parte de la versión que definimos como compilación. La compilación puede cambiar si se actualiza cmake . Según la página web oficial, la última versión es 3.22.1 . Si desea la versión anterior 3.21.4, simplemente reemplace la versión y compile parámetros como este:

version=3.21
build=4
## don't modify from here
limit=3.20
result=$(echo "$version >= $limit" | bc -l)
os=$([ "$result" == 1 ] && echo "linux" || echo "Linux")
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-$os-x86_64.sh 
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-$os-x86_64.sh --prefix=/opt/cmake

Observación

Para versiones anteriores de CMake (3.19.7 <=), recuerde que el nombre del archivo contiene una L mayúscula en -Linux-x86_64.sh y desde la versión 3.20 tiene una l minúscula en -linux-x86_64.sh

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım