web-dev-qa-db-ja.com

コマンドラインからcmakeの最新バージョンをインストールするにはどうすればよいですか?

Linuxボックスに最新のcmakeをインストールしようとしていますが、常に以下の例外が発生します-

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

常に再試行しています...

誰が私がここで何をしているのか知っていますか?または、Linuxボックスに最新バージョンのcmakeをインストールするより良い方法はありますか?

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
82
SSH

おそらくwww.cmake.orgのサーバーは非常に忙しかったでしょう。再試行するか、Webブラウザーを使用してファイルをダウンロードできます。

ただし、もっと簡単な方法があります。

Sudo apt-get install cmake

更新:コメント者は "Ubuntu 12.04はv2.8.7のみを出荷しています" "14.04はまだ2.8"を出荷しています。これには理由があります:12.04と14.04はUbuntuのLTSリリースです。 LTSリリースは5年間安定することを目的としているため、パッケージの最新リリースではなく、セキュリティと重要な更新のみを受け取ります。通常のリリースは6か月ごとにリリースされるため、最近のcmakeでリリースされる可能性が高くなります。

20
zwets

最も一般的な状況は、cmakeの最新バージョンをインストールしたいが、オペレーティングシステムのリポジトリが更新されない場合です。たとえば、私の場合、ラップトップでUbuntu 16.04を実行しており、コマンドSudo apt install cmakeを実行すると、インストールされたバージョンはでした3.5.1; cmake.org の現在のバージョンである3.15.2の代わりに。

最新バージョンを入手するにはどうすればよいですか?

さて、次のいずれかの方法でインストールできます:Building and InstallまたはUsing binary files

A.ビルドとインストール(推奨)

A-1.次を使用して、Ubuntuのパッケージマネージャーおよび構成によって提供されるデフォルトバージョンをアンインストールします。

Sudo apt remove --purge --auto-remove cmake

または:

Sudo apt purge --auto-remove cmake

A-2.公式CMake Webページ にアクセスし、最新バージョンをダウンロードして抽出します。次のコマンドでversionおよびbuild変数を更新して、目的のバージョンを取得します。

version=3.15
build=2
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.15.X

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

B.バイナリファイルの使用(cmake-guiはうまく機能しません)

B-1.A-1のように、Ubuntuのパッケージマネージャーが提供するデフォルトバージョンをアンインストールします。

B-2.公式CMake Webページ に移動し、theをダウンロードしてインストールします最新の.sh versionin opt/cmake。次のコマンドでversionおよびbuild変数を更新して、目的のバージョンを取得します。

version=3.15
build=2
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.A-4のように、新しいcmakeバージョンをテストします。

注意

3.15.Xでは、Xはビルドとして定義したバージョンの最後の部分を表します。cmakeが更新されると、ビルドが変更される場合があります。公式ウェブページによると、 最新リリースは3.15.2 です。 以前のリリース3.14.6 が必要な場合は、次のようにバージョンとビルドパラメータを置き換えるだけです。

version=3.14
build=6
151
Teocci

最初 cmakeパッケージをアンインストールする 以前にインストールした。次に:

  1. http://www.cmake.org/download/ に移動し、最新の.shインストーラーをダウンロードします

  2. 実行してopt/cmakeにインストールします(たとえば)

    Sudo mkdir /opt/cmake
    Sudo sh <installer filename> --prefix=/opt/cmake
    
  3. Cmakebinディレクトリをパスに追加します: https://askubuntu.com/a/170240/35934

このようにインストールすると、cmake-guiは少し恐ろしく見えます。修正する方法を見つけた場合は、この回答を自由に編集してください。

40
Antonio

誰かがdockerイメージに最新の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
22
Paolo Vigori

次の方法が気に入っています。最近のバージョンを手間をかけずに入手できるからです。

キットウェアは、ピップホイールのリリースを公式にサポートしているようです。したがって、次の操作を行うだけで最新のcmakeを取得できます。

pip install --upgrade cmake

これについてのブログは次のとおりです。 https://blog.kitware.com/cmake-python-wheels/

13
Juan Leni

次を実行することもできます。

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 **になります。インストールを完了していない場合は再利用できます。
  • それから コピー リンクを作成ビンcmakeへ。
4
test30

キットウェアには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 Bionic Beaver(18.04)の場合

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

    b。 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
    
3
Himel

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

必要に応じて、バージョンを調整します。

3
sebastian

次を使用して古いバージョンを削除します。

apt-get purge cmake

Tarballにアーカイブされたcmakeのバイナリバージョンをダウンロードします。 cmakeディレクトリパスを$PATHに追加することにより、binの新しいバージョンを使用できます。別の解決策は、tar.gzパッケージを抽出し、抽出後に作成されたディレクトリに移動して、次のコマンドを実行することです。

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

2番目の方法は、.debパッケージが行うインストールプロセスと同じです。

2
SuB

多くの最新バージョンが存在するバックポートからcmakeの最新バージョンをインストールします。特定のバックポートは、現在のOSバージョンによって異なります。たとえば、Debian Stretchを実行して、次を/etc/apt/sources.listに追加します

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

次に、このバックポートからインストールします:

Sudo apt-get -t stretch-backports install -y cmake
1
jeffmcneill