Как мне установить последнюю версию cmake из командной строки?

Я пытаюсь установить последнюю версию cmake в моей Linux-системе, и я всегда получаю следующее исключение -

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

Всегда повторяется ... Есть мысли?

Кто-нибудь знает, что я не так делаю здесь? Или есть ли лучший способ установить последнюю версию cmake в мою 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
90
задан 14 November 2017 в 10:28

12 ответов

Вероятно, сервер на www.cmake.org был просто очень занят. Вы можете повторить попытку или загрузить файл с помощью веб-браузера.

Однако существует гораздо более простой способ:

sudo apt-get install cmake

Обновление: комментаторы указывают, что «Ubuntu 12.04 только поставляет v2.8.7» и [ 112] «14.04 все еще отправляет 2,8» . Вот почему: 12.04 и 14.04 - это LTS-релизов Ubuntu. Предполагается, что выпуски LTS будут оставаться стабильными в течение 5 лет, поэтому они получают только обновления безопасности и критические обновления, а не последние выпуски пакетов. Нормальные выпуски выходят каждые 6 месяцев, и, следовательно, более вероятно, что они будут выпущены недавно.

0
ответ дан 14 November 2017 в 10:28

Наиболее распространенная ситуация - когда вы хотите установить последнюю версию cmake , но репозитории вашей операционной системы не обновляются. Например, в моем случае у меня есть ноутбук с Ubuntu 16.04 , и когда я выполнил команду sudo apt install cmake, установленная версия была 3.5.1 ; вместо 3.14.1 , которая является текущей версией на cmake.org .

Как я могу получить последнюю версию?

Ну, мы можем установить ее одним из следующих способов:

A. Сборка и установка (рекомендуется)

A-1. Удалите версию по умолчанию, предоставленную менеджером пакетов и конфигурацией Ubuntu, используя:

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

или:

sudo apt purge --auto-remove cmake

A-2. Перейдите на официальную веб-страницу CMake , затем загрузите и распакуйте последнюю версию. Обновите переменные version и build в следующей команде, чтобы получить нужную версию:

version=3.14
build=1
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. Установите извлеченный источник, запустив:

./bootstrap
make -j4
sudo make install

A-4. Протестируйте новую версию cmake.

$ cmake --version

Результаты cmake --version:

cmake version 3.13.X

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

B. Использование бинарных файлов (cmake-gui не будет работать хорошо)

B-1. Удалите версию по умолчанию, предоставляемую менеджером пакетов Ubuntu, как в A-1 .

В-2. Перейдите на официальную веб-страницу CMake , затем загрузите и установите последнюю версию .sh в opt/cmake. Обновите переменные version и build в следующей команде, чтобы получить нужную версию:

version=3.14
build=1
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. Добавьте установленную двоичную ссылку в /usr/local/bin/cmake, запустив это:

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

B-4. Проверьте свою новую версию cmake, как в A-4 .

Примечание

В 3.14.X X представляет последнюю часть версии, которую мы определили как build. Сборка может измениться, если cmake обновлен. Согласно официальной веб-странице, последняя версия - 3.14.1 . Если вы хотите Предыдущий выпуск 3.13.4 , просто замените версию и создайте параметры, как это:

version=3.13
build=4
0
ответ дан 14 November 2017 в 10:28

Сначала удалите любой ранее установленный пакет cmake . Затем:

  1. Перейдите на http://www.cmake.org/download/ и загрузите последнюю версию установщика .sh

  2. Установите его (например) в opt/cmake, запустив

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Добавьте каталог cmake bin в свой путь: https: //askubuntu.com/a/170240/359343

Установленный таким образом, cmake-gui выглядит немного ужасно, если вы найдете способ исправить это, пожалуйста, почувствуйте можете редактировать этот ответ.

0
ответ дан 14 November 2017 в 10:28

На всякий случай, если кому-то понадобится установить последнюю версию CMAKE в образ докера (как я ..). В данном случае это 3.7.2, но вы можете проверить здесь https://cmake.org/download/ , как уже указывалось

#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
0
ответ дан 14 November 2017 в 10:28

Мне нравится следующий способ, потому что вы можете получить последнюю версию без особых проблем.

Похоже, что Kitware официально поддерживает выпуск колес. Таким образом, вы можете получить последний cmake, просто выполнив:

pip install --upgrade cmake

Вот блог об этом: https: // blog .kitware.com / CMake-питон-диски /

0
ответ дан 14 November 2017 в 10:28

Вы также можете выполнить следующее:

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

Этот скрипт

  • выбирает 3.0.2 **, если он уже был загружен в этом сеансе, вы можете использовать повторно если вы не завершили установку
  • , то он копирует делает ссылку на корзину cmake.
0
ответ дан 14 November 2017 в 10:28

Удалите старое использование версии:

apt-get purge cmake

Загрузите версию двоичных файлов cmake заархивированный в tarball. Можно использовать новую версию cmake путем добавления bin путь к каталогу к $PATH. Альтернативное решение состоит в том, чтобы извлечь tar.gz пакет и переходит к каталогу, сделанному после извлечения, и выполняет следующие команды:

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

Второй метод совпадает с процессом установки который .deb пакет делает!

2
ответ дан 14 November 2017 в 10:28

Для контейнера Docker лучше всего запустить

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

. При необходимости скорректировать версию.

0
ответ дан 14 November 2017 в 10:28

Установите последнюю версию cmake из бэкпортов, где находится много последних версий. Конкретный бэкпорт зависит от вашей текущей версии ОС. Например, запустив Debian Stretch, добавьте следующее в /etc/apt/sources.list

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

, а затем установите из этого бэкпорта, он же:

sudo apt-get -t stretch-backports install -y cmake
0
ответ дан 14 November 2017 в 10:28

ответ qwr для использования снимка может быть хорошим, но если Вы хотите что-то еще более новое, cmake делает создание DEB из источника легким. Следующее предполагает, что у Вас есть недавний cmake, уже установленный. Ubuntu 18.04's способная установка cmake будет определенно работать здесь.

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
0
ответ дан 9 October 2019 в 16:03

Можно найти очень последние версии cmake через снимок. Например, с записи этого ответа, последняя версия cmake 3.15.3, и снимок имеет версию 3.15.2.

sudo apt-get purge cmake
sudo snap install cmake --classic
0
ответ дан 9 October 2019 в 16:03

Kitware теперь имеет репозиторий APT, который в настоящее время поддерживает Инструкции по Установке Ubuntu 16.04 и 18.04

:

  1. Удаляют старую версию cmake

    sudo apt purge --auto-remove cmake
    
  2. , Получают копию ключа подписи

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  3. , Добавляет репозиторий к Вашему исходному списку

    a. Для Ubuntu Бионический Бобр (18.04)

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

    b. Для Ubuntu Гостеприимный Xerus (16.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. Обновление и установка

    sudo apt update
    sudo apt install cmake
    
4
ответ дан 9 October 2019 в 16:03

Другие вопросы по тегам:

Похожие вопросы: