Cmake'nin en son sürümünü komut satırından nasıl yüklerim?


86

cmakeLinux kutuma en son yüklemeyi deniyorum ve her zaman aşağıdaki istisnayı alıyorum -

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

Her zaman yeniden deniyor ... Herhangi bir düşüncen?

Burada ne yaptığımı yanlış bilen var mı? Veya cmake'nin son versiyonunu linux kutuma kurmanın daha iyi bir yolu var mı?

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

Bağlantınızı engelleyen bir güvenlik duvarı olmadığından emin misiniz? Neden kullanarak wget? Bir web tarayıcısı kullanarak bu dosyayı ( cmake.org/files/v2.8/cmake-2.8.11.tar.gz ) indirmeyi deneyin .
Eric Carvalho

Burada benzer soru: iyi bir cevap ile askubuntu.com/questions/610291/… .
Eliptik görünüm

Bence sorunuz " Linux'ta en son cmake sürümünü nasıl kurarım " dır, ancak komut sudo apt-get install cmakeen son sürümü yüklemez.
Teocci

Yanıtlar:


22

Muhtemelen www.cmake.org adresindeki sunucu çok meşguldü. Web tarayıcınızı kullanarak tekrar deneyebilir veya dosyayı indirebilirsiniz.

Ancak çok daha basit bir yol var:

sudo apt-get install cmake

Güncelleme: yorum yapanlar "Ubuntu 12.04 sadece v2.8.7 gönderiyor" ve " 14.04 hala 2.8 gönderiyor" diyorlar . Bunun bir nedeni: 12.04 ve 14.04, Ubuntu'nun LTS sürümleridir . LTS sürümleri 5 yıl boyunca sabit kalması amaçlanmıştır, bu nedenle en son sürüm sürümleri değil yalnızca güvenlik ve kritik güncelleştirmeleri alırlar. Normal yayınlar her 6 ayda bir çıkar ve bu nedenle yeni bir ürünle gelmesi daha olasıdır.


3
Ubuntu 12.04 sadece apt-get ile cmake v 2.8.7 nakliye olduğunu. Sürüm 2'nin geçerli sürümü 2.8.12'dir. Bunu kaynaktan inşa etmeye devam etmeni öneriyorum.
Richard Hodges

52
Bu doğru cevap değil. En son sürüm neredeyse hiç uygun değil.
Senjai

3
14.04 hala 2.8 nakliye
Stolas

4
Bu cevap yanlış. StableReleaseUpdates politikasıdır değil LTS bırakırken için. Tüm Ubuntu sürümleri, bir kez yayınlandıktan sonra, yalnızca güvenlik açıkları veya başka ciddi hatalar için düzeltmeler alır. Burada (ve Launchpad'de ) gösterildiği gibi , LTS dışındaki sürümler bile yeni cmakesürümler almadı . Bazı paketler için ayrı destek var (değil cmake).
Eliah Kagan,

10
Bu cevap yanlıştır, çünkü sudo apt-get install cmakekendi başına, daha yeni cmakebir sürüme yükseltme yapmaz . Bu, herhangi bir Ubuntu sürümünde çalışmaz. Cevabınız aslında "Ubuntu sisteminizi daha yeni bir sürüme yükseltin" ise, bunu daha net hale getirmek için tekrar düzenlemek isteyebilirsiniz. (Bu birçok kullanıcı için makul bir çözüm olmazdı ve çoğu zaman depoları en son sürümüne sahip olan Ubuntu'nun yayınlanmış bir sürümü yoktur cmake.)
Eliah Kagan

160

En yaygın durum, cmake'nin en son sürümünü yüklemek istediğiniz zamandır , ancak İşletim Sisteminizin depoları güncellenmez. Örneğin, benim durumumda Ubuntu 16.04 çalıştıran bir dizüstü bilgisayarım var ve bu komutu çalıştırdığımda sudo apt install cmakekurulu sürüm 3.5.1 ; cmake.org'daki şu anki sürüm olan 3.15.4 yerine .

En son sürümü nasıl edinebilirim?

Peki, aşağıdaki yöntemlerden birini izleyerek yükleyebiliriz: İkili dosyaları oluşturma ve yükleme veya kullanma .

A. Yapı ve Kurulum (önerilir)

A-1. Ubuntu'nun paket yöneticisi ve yapılandırması tarafından sağlanan varsayılan sürümü aşağıdakileri kullanarak kaldırın:

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

veya:

sudo apt purge --auto-remove cmake

A-2. Git resmi CKağıt web sayfasının ardından son sürümünü indirip ayıklamak. Güncelleme versionve buildistenen sürümü almak için aşağıdaki komutu değişkenleri:

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/

A-3. Çıkarılan kaynağı çalıştırarak yükleyin:

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

A-4. Yeni cmakeversiyonunu test et .

$ cmake --version

Sonuçları cmake --version:

cmake version 3.15.X

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

B. İkili dosyaları kullanma ( cmake-guiiyi çalışmayacak)

B-1. Ubuntu'nun paket yöneticisi tarafından sağlanan varsayılan sürümü A-1'deki gibi kaldırın .

B-2. Git resmi CKağıt web sayfası , daha sonra indirmek ve yüklemek son .shsürümünü içinde opt/cmake. Güncelleme versionve buildistenen sürümü almak için aşağıdaki komutu değişkenleri:

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

B-3. Yükleyerek bu ikili linki /usr/local/bin/cmakeçalıştırarak ekleyin :

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

, B-4. Yeni cmakesürümünüzü A-4'teki gibi test edin .

Not

In 3.15.X X biz yapı olarak tanımlanan versiyonunun son bölümünü temsil eder. Cmake güncellendiğinde derleme değişebilir . Resmi web sitesine göre Son Sürüm 3.15.4 . Önceki Sürüm 3.14.7'yi istiyorsanız, sadece sürümü değiştirin ve bunun gibi parametreler oluşturun:

version=3.14
build=7

14
Make install komutunun root yetkilerine ihtiyacı var. Cmake --version komutu yalnızca yeni bir terminal açtıktan sonra çalışır çünkü cmake / usr / local / bin / dizinine / usr / bin / dizinine kurulur.
HD189733b

@Teocci, bunu çeşitli şekillerde yapmaya çok çalıştım ve sadece kararınız bana yardımcı oldu. Çok teşekkür ederim !!!)))))))
neo

Bu cevabın sana yardım etmesine sevindim. Mutlu kodlama ve en iyisi.
Teocci

2
Bu GÜNCELLEME için bir çözüm değil, INSTALL cmake için bir çözümdür. Bu komutu deneyin veya bir çözüm bulmak için sudo apt-get remove cmake cmake-data
Google'ı deneyin

1
Ayrıca cmake-gui aracını oluşturmaya dikkat edin, bootstrap komutuna --qt-gui ekleyin.
Richard Whitehead

41

İlk önce daha önce kurulmuş olan herhangi bir cmake paketini kaldırın . Sonra:

  1. Http://www.cmake.org/download/ adresine gidin ve en son .sh yükleyicisini indirin.

  2. Bunu (örneğin) içinde yükleme opt/cmakeçalıştırarak

    sudo mkdir /opt/cmake
    sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Cmake bin dizinini yolunuza ekleyin: https://askubuntu.com/a/170240/359343

Bu şekilde kurulan, cmake-guibiraz korkunç görünüyor, düzeltmek için bir yol bulursanız, lütfen bu cevabı düzenlemek için çekinmeyin.


7
Yüklenen ikili dosyaya / usr / local / bin / cmake dizininden bir bağlantı ekleyin. Bu şekilde PATH'yi değiştirmeye gerek kalmaz. sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
Hıristiyan

2
Bu en iyi cevap.
SuB

3
gerçekten, bu ilk soru için en yararlı cevaptır
amigo421

Bu bana xRDP (önceki sürüm çalıştı) üzerinde çalışmayan bozuk cmake-gui verir ve xRDP sunucuya erişmenin tek yoludur.
stiv

@stiv 1. cmakeYükleme çalıştıktan sonra ve yolunuzda başka bir cmakesürümün olmadığını doğruladınız mı? 2. Daha eski bir sürümü değil, kurulumda verilen cmake-gui'yi kullanıp kullanmadığınızı doğrulayabilir misiniz? (Sürümü bilmek için --versionkomut satırına ekleyin )
Antonio

23

Birinin liman işçisi görüntüsünde en son CMAKE'yi yüklemesi gerekiyorsa (benim gibi). Bu durumda 3.7.2, ancak daha önce belirtildiği gibi https://cmake.org/download/ burada kontrol edebilirsiniz .

#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
Güzel, belgesiz - atlama lisansı seçeneği :)
4LegsDrivenCat

14

Aşağıdaki yolu seviyorum, çünkü çok fazla sorun çıkarmadan yeni bir sürüm alabilirsiniz.

Kitware resmen bir pip tekerlek serbest bırakma destek görünüyor. Böylece sadece yaparak son cmake alabilirsiniz:

pip kurulumu - yükseltme cmake

İşte bununla ilgili blog: https://blog.kitware.com/cmake-python-wheels/


6

Kitware şu anda Ubuntu 16.04 ve 18.04’ü destekleyen bir APT deposuna sahip

Talimatları Yükle:

  1. Cmake'nin eski versiyonunu kaldır

    sudo apt purge --auto-remove cmake
    
  2. İmzalama anahtarının bir kopyasını alın

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  3. Depoyu kaynaklar listenize ekleyin

    a. Ubuntu Biyonik Kunduz için (18.04)

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

    b. Ubuntu Xenial Xerus için (16.04)

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
    
  4. Güncelle ve yükle

    sudo apt update
    sudo apt install cmake
    

4

Ayrıca aşağıdakileri de uygulayabilirsiniz:

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

Bu komut dosyası

  • Bu oturumda önceden indirilmişse, make 3.0.2 ** 'yi alır, yüklemeyi tamamlamadıysanız tekrar kullanabilirsiniz.
  • daha sonra kopyaları çöp kutusuna bağlarcmake .

3

Docker konteyner için en iyi yol

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

Gerekirse sürümü ayarlayın.


2

Aşağıdakileri kullanarak eski sürümü kaldırın:

apt-get purge cmake

cmakeBir tarball arşivindeki ikili versiyonunu indirin . Dizinin yolunu cmakeekleyerek yeni sürümünü kullanabilirsiniz . Alternatif bir çözüm, paketi ayıklamak ve aşağıdaki komutları ayıklayıp çalıştırdıktan sonra yapılan dizine gitmektir:bin$PATHtar.gz

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

İkinci yöntem, .debpaketin yaptığı yükleme işlemiyle aynıdır !


1

Cmake'nin en son sürümünü, en son sürümlerin bulunduğu backports'ten yükleyin. Belirli bir geri yükleme, mevcut işletim sistemi sürümünüze bağlıdır. Örneğin, Debian Stretch'i çalıştırarak aşağıdakileri /etc/apt/sources.list dosyasına ekleyin.

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

Ardından, bu backport'tan, aka yükleyin:

sudo apt-get -t stretch-backports install -y cmake

0

Cmake'nin çok yeni sürümlerini snap aracılığıyla bulabilirsiniz. Örneğin, bu cevabı yazarken, cmake'nin en son sürümü 3.15.3'tür ve snap, 3.15.2 versiyonuna sahiptir.

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

0

qwr 'in snap komutunu kullanması iyi olabilir ama daha yeni bir şey istiyorsanız, cmake kaynaktan DEB oluşturmayı kolaylaştırır. Aşağıdakiler, daha önce kurulmuş bir cmake’iniz olduğunu varsayar. Ubuntu 18.04'ün apt install cmake'ı kesinlikle burada çalışacak.

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.