Как установить последнюю версию 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
1
задан 14 November 2017 в 11:28

5 ответов

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

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

Ну, мы можем установить ее, выполнив следующие простые шаги:

Построение и установка (рекомендуется)

Удалить версию по умолчанию, предоставляемую менеджером пакетов Ubuntu:
sudo apt remove cmake
sudo apt purge --auto-remove cmake
Перейти на официальную веб-страницу CMake, а затем загрузить и извлечь последнюю версию. Обновите переменные version и build в следующей команде, чтобы получить желаемую версию:
version=3.11
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/
Установите извлеченный источник, запустив:
./bootstrap
make -j4
sudo make install
Проверьте свою новую версию cmake.
$ cmake --version
Результаты cmake --version:
cmake version 3.11.X

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

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

Удалить версию по умолчанию, предоставляемую менеджером пакетов Ubuntu:
sudo apt remove cmake
sudo apt purge --auto-remove cmake

Удалить версию по умолчанию, предоставленную менеджером пакетов Ubuntu:

version=3.11
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
Перейти на официальную веб-страницу CMake, а затем загрузить и извлечь последнюю версию. Обновите переменные version и build в следующей команде, чтобы получить желаемую версию:
version=3.11
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/

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

$ cmake --version
Результаты cmake --version:
cmake version 3.11.X

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

Примечание

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

    version=3.10
    build=3
72
ответ дан 24 May 2018 в 17:06
  • 1
    Команде make install нужны привилегии root. Команда cmake -version работает только после открытия нового терминала, потому что cmake установлен по умолчанию / usr / local / bin / по умолчанию, а не / usr / bin /. – HD189733b 22 January 2017 в 23:10
  • 2
    @Teocci, я уже давно пытался сделать это по-разному, и только мое решение помогло мне. Большое спасибо!!!))))))) – neo 21 March 2017 в 17:49
  • 3
    Я рад, что этот ответ помог вам. Счастливое кодирование и все лучшее. – Teocci 22 March 2017 в 04:19
  • 4
    Это потрясающе = 0) – Ph0en1x 24 April 2017 в 14:52
  • 5
    Это не решение UPDATE, а INSTALL cmake. Попробуйте эту команду или google, чтобы найти решение: sudo apt-get remove cmake cmake-data – Teocci 26 December 2017 в 06:18

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

Перейдите на страницу http://www.cmake.org/download/ и загрузите последнюю версию .sh installer. Установите ее (например) в opt/cmake, запустив
sudo mkdir /opt/cmake
sudo sh <installer filename> --prefix=/opt/cmake
. Добавьте каталог cmake bin на ваш путь: https://askubuntu.com/a/170240/359343

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

33
ответ дан 24 May 2018 в 17:06
  • 1
    Добавьте ссылку из / usr / local / bin / cmake в установленный двоичный файл. Таким образом, нет необходимости изменять PATH. [F1] – Christian 16 March 2016 в 18:30
  • 2
    Это лучший ответ. – SuB 20 November 2016 в 13:59
  • 3
    действительно, это самый полезный ответ для первоначального вопроса – amigo421 1 December 2016 в 23:37
  • 4
    Это дает мне разбитый cmake-gui, который не работает над xRDP (работа над версией работала), а xRDP - единственный способ доступа к серверу. – stiv 28 March 2018 в 21:56
  • 5
    @stiv 1. Вы проверили cmake после того, как установка работает, и что у вас нет другой версии cmake на вашем пути? 2. Можете ли вы проверить, используете ли вы cmake-gui в установке, а не какую-то более старую версию? (Чтобы узнать версию, добавьте --version в командную строку) – Antonio 29 March 2018 в 19:22

На всякий случай, если кому-то нужно установить последнюю 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
12
ответ дан 24 May 2018 в 17:06
  • 1
    Хороший, недокументированный вариант -skip-license :) – 4LegsDrivenCat 15 June 2017 в 07:22

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

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

Этот скрипт

выбирает make 3.0.2 **, если он уже был загружен в этом сеансе, тогда вы можете его повторно использовать если вы не закончили установку, она копирует ссылку на bin cmake.
4
ответ дан 24 May 2018 в 17:06

Удалите старую версию, используя:

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! [ ! d2]

2
ответ дан 24 May 2018 в 17:06

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

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