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
おそらく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でリリースされる可能性が高くなります。
最も一般的な状況は、cmakeの最新バージョンをインストールしたいが、オペレーティングシステムのリポジトリが更新されない場合です。たとえば、私の場合、ラップトップでUbuntu 16.04を実行しており、コマンドSudo apt install cmake
を実行すると、インストールされたバージョンはでした3.5.1; cmake.org の現在のバージョンである3.15.2の代わりに。
さて、次のいずれかの方法でインストールできます:Building and InstallまたはUsing binary files。
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).
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
最初 cmakeパッケージをアンインストールする 以前にインストールした。次に:
http://www.cmake.org/download/ に移動し、最新の.shインストーラーをダウンロードします
実行してopt/cmake
にインストールします(たとえば)
Sudo mkdir /opt/cmake
Sudo sh <installer filename> --prefix=/opt/cmake
Cmakebinディレクトリをパスに追加します: https://askubuntu.com/a/170240/35934
このようにインストールすると、cmake-gui
は少し恐ろしく見えます。修正する方法を見つけた場合は、この回答を自由に編集してください。
誰かが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
次の方法が気に入っています。最近のバージョンを手間をかけずに入手できるからです。
キットウェアは、ピップホイールのリリースを公式にサポートしているようです。したがって、次の操作を行うだけで最新のcmakeを取得できます。
pip install --upgrade cmake
これについてのブログは次のとおりです。 https://blog.kitware.com/cmake-python-wheels/
次を実行することもできます。
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 -)
このスクリプト
cmake
へ。キットウェアにはAPTリポジトリがあり、現在Ubuntu 16.04および18.04をサポートしています
インストール手順:
古いバージョンのcmakeを削除します
Sudo apt purge --auto-remove cmake
署名キーのコピーを取得します
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | Sudo apt-key add -
ソースリストにリポジトリを追加します
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'
更新とインストール
Sudo apt update
Sudo apt install cmake
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
必要に応じて、バージョンを調整します。
次を使用して古いバージョンを削除します。
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
パッケージが行うインストールプロセスと同じです。
多くの最新バージョンが存在するバックポートから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