Як встановити останню версію cmake з командного рядка?


86

Я намагаюся встановити останнє 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 box?

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

Ви впевнені, що брандмауер не блокує ваше з'єднання? Навіщо використовувати wget? Спробуйте завантажити цей файл ( cmake.org/files/v2.8/cmake-2.8.11.tar.gz ) за допомогою веб-браузера.
Eric Carvalho

Подібне запитання тут: askubuntu.com/questions/610291/… з хорошою відповіддю.
Еліптичний вигляд

Я думаю, що ваше питання "Як встановити останню версію cmake в Linux", але команда sudo apt-get install cmakeне встановлює останню версію.
Теоччі

Відповіді:


22

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

Однак існує набагато простіший спосіб:

sudo apt-get install cmake

Оновлення: коментатори зазначають, що "Ubuntu 12.04 доставляє лише версію v2.8.7", а "14.04 все ще доставляє 2.8" . Це є причиною: 12.04 і 14.04 - це випуски LTS Ubuntu. Планується, що випуски LTS залишаться стабільними протягом 5 років, тому вони отримують лише безпеку та критичні оновлення, а не останні випуски пакетів. Звичайні випуски виходять кожні 6 місяців, і тому більше шансів на те, що вони з’являться нещодавно.


3
ubuntu 12.04 доставляє лише версію 2.8.8 cmake з apt-get. Поточний реліз версії 2 - 2.8.12. Я пропоную вам наполегливо будувати його з джерела.
Річард Ходжес

52
Це не правильна відповідь. Остання версія майже ніколи не вдається.
Сеняй

3
14.04 все ще доставка 2.8
Столас

4
Ця відповідь неправильна. Політика StableReleaseUpdates стосується не лише випусків LTS. Усі випуски Ubuntu, фактично випущені, отримують лише виправлення на вразливості безпеки або серйозні помилки. Як показано тутна Launchpad ), навіть не випуски LTS не отримали нових cmakeверсій. Окремі спинки для деяких пакетів існують (але ні cmake).
Eliah Kagan

10
Ця відповідь неправильна, оскільки sudo apt-get install cmakeсама по собі ніколи не переходить cmakeна більш нову версію. Це не працює в будь-якому випуску Ubuntu. Якщо ваша відповідь насправді "оновіть вашу систему Ubuntu до більш нової версії", можливо, ви захочете знову відредагувати, щоб зробити це зрозумілішим. (Це не було б розумним рішенням для багатьох користувачів, однак, і часто немає випущеної версії Ubuntu, у сховищах якої є остання версія cmake.)
Eliah Kagan

160

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

Як я можу отримати останню версію?

Ну, ми можемо встановити його, дотримуючись одного з таких способів: Створення та встановлення або Використання бінарних файлів .

A. Створення та встановлення (рекомендується)

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

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

або:

sudo apt purge --auto-remove cmake

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

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/

А-3. Встановіть витягнутий джерело, запустивши:

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

А-4. Перевірте нову cmakeверсію.

$ cmake --version

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

cmake version 3.15.X

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

B. Використання бінарних файлів ( cmake-guiзвично працювати)

Б-1. Видаліть версію за замовчуванням, надану менеджером пакунків Ubuntu, як у A-1 .

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

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

Б-3. Додайте встановлене бінарне посилання /usr/local/bin/cmake, запустивши це:

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

В-4. Перевірте нову cmakeверсію, як у A-4 .

Примітка

У 3.15.X X являє собою останню частину версії , яку ми визначили як будувати. Збірка може змінитися, якщо cmake буде оновлено. За офіційною веб-сторінкою, останній реліз - 3.15.4 . Якщо ви хочете, щоб попередній випуск 3.14.7 просто замінив версію та побудуйте такі параметри:

version=3.14
build=7

14
Команді make install потрібні привілеї root. Команда cmake --version працює лише після відкриття нового терміналу, оскільки cmake встановлений під / usr / local / bin / за замовчуванням, а не / usr / bin /.
HD189733b

@Teocci, я давно намагався це зробити різними способами, і тільки твоє рішення мені допомогло. Большое спасибо !!!)))))))
нео

Я радий, що ця відповідь допомогла тобі. Щасливе кодування та все найкраще.
Теоччі

2
Це не рішення для оновлення, а для ВСТАНОВЛЕННЯ cmake. Спробуйте цю команду або google її, щоб знайти рішення:sudo apt-get remove cmake cmake-data
Teocci

1
Зауважте, щоб також створити інструмент cmake-gui, додайте --qt-gui до команди bootstrap.
Річард Уайтхед

41

Спочатку видаліть будь-який пакет cmake, встановлений раніше. Тоді:

  1. Перейдіть на сторінку http://www.cmake.org/download/ та завантажте останню версію інсталятора .sh

  2. Встановіть його (наприклад) за opt/cmakeдопомогою запуску

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Додайте Cmake бен каталог в шляху: https://askubuntu.com/a/170240/359343

Встановлений таким чином, cmake-guiвиглядає трохи жахливо, якщо ви знайдете спосіб виправити, будь ласка, відредагуйте цю відповідь.


7
Додайте посилання з / usr / local / bin / cmake до встановленого бінарного файлу. Таким чином, немає необхідності змінювати ПАТ. sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
Крістіан

2
Це найкраща відповідь.
SuB

3
Дійсно, це найкорисніша відповідь на початкове запитання
amigo421

Це дає мені зламану cmake-gui, яка не працює над xRDP (попередня версія працювала), а xRDP - єдиний спосіб доступу до сервера.
stiv

@stiv 1. Чи підтвердили ви, cmakeщо встановлення працює, і немає іншої cmakeверсії на вашому шляху? 2. Чи можете ви переконатися, що ви використовуєте cmake-gui, наданий у встановленні, а не старішу версію? (Щоб знати версію, додайте --versionдо командного рядка)
Антоніо

23

Про всяк випадок, якщо комусь потрібно встановити останню 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

3
Хороший, недокументований варіант --skip-ліцензія :)
4LegsDrivenCat

14

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

Схоже, що посуд офіційно підтримує реліз колеса з піп-колом. Таким чином, ви можете отримати найсвіжіший cmake, виконавши:

pip install - оновлення cmake

Ось блог про це: https://blog.kitware.com/cmake-python-wheels/


6

Зараз у комплектації є сховище 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. Додайте сховище до списку джерел

    а. Для Ubuntu Bionic Beaver (18.04)

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

    б. Для Ubuntu Xenial Xerus (16.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. Оновіть та встановіть

    sudo apt update
    sudo apt install cmake
    

4

Ви також можете виконати такі дії:

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.

3

Для контейнера 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

За необхідності відрегулюйте версію.


2

Видаліть стару версію за допомогою:

apt-get purge cmake

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

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

Другий метод такий же, як і процес встановлення, який .debробить пакет!


1

Встановіть останню версію 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

Ви можете знайти дуже недавні версії cmake шляхом оснащення. Наприклад, що стосується написання цієї відповіді, остання версія cmake становить 3.15.3, а оснастка має версію 3.15.2.

sudo apt-get purge cmake
sudo snap install cmake --classic

0

Відповідь qwr на використання оснащення може бути хорошою, але якщо ви хочете чогось ще більш нового, cmake полегшує побудову DEB з джерела. Далі передбачається, що у вас вже встановлено нещодавній cmake. Тут точно працюватиме Utuntu 18.04 підходяща програма 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.