何らかの理由でyum
を実行してcmakeを取得すると、古いバージョンがインストールされます。それは私のリポジトリリストが完全ではないためでしょうか? CentOS 6を使用していますが、非ネットインストールCDから最小限のデスクトップインストールを使用しています。誰かが私にレポリンクか何かをくれませんか?
Scientific Linuxでも同じことが起こります。
yum install cmake
をbashスクリプトで動作させようとしているので、最後の手段として自分でコンパイルすると思います。
あなたは言っていませんが、どのバージョンを取得していて、どのバージョンを期待していますか?
次のコマンドを使用して、システムがクエリを実行するように設定されているリポジトリを確認できます。
$ yum repolist | expand
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
* base: centos.mirror.constant.com
* epel: mirror.steadfast.net
* extras: mirror.symnds.com
* updates: bay.uchicago.edu
77 packages excluded due to repository priority protections
repo id repo name status
base CentOS-6 - Base 6,297+70
epel Extra Packages for Enterprise Linux 6 - x86_64 10,246
extras CentOS-6 - Extras 7+7
updates CentOS-6 - Updates 314
repolist: 16,864
インストールされているかどうかに関係なく、yum info <pkg>
。
$ yum info cmake
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
* base: centos.mirror.constant.com
* epel: mirror.steadfast.net
* extras: mirror.symnds.com
* updates: bay.uchicago.edu
77 packages excluded due to repository priority protections
Installed Packages
Name : cmake
Arch : x86_64
Version : 2.6.4
Release : 5.el6
Size : 18 M
Repo : installed
From repo : base
Summary : Cross-platform make system
URL : http://www.cmake.org
License : BSD
Description : CMake is used to control the software compilation process using simple
: platform and compiler independent configuration files. CMake generates
: native makefiles and workspaces that can be used in the compiler
: environment of your choice. CMake is quite sophisticated: it is possible
: to support complex environments requiring system configuration, pre-processor
: generation, code generation, and template instantiation.
RPMのダウンロード元は、repoquery
コマンドを使用して確認できます。
$ repoquery --location cmake
http://centos.mirrors.hoobly.com/6.5/os/x86_64/Packages/cmake-2.6.4-5.el6.x86_64.rpm
これはこのリポジトリの一部です:
$ repoquery -i cmake | grep Repos
Repository : base
したがって、これは、このパッケージを提供するCentOSディストリビューションのベースリポジトリです。
pkgs.org を使用して、特定のパッケージ(少なくともほとんどの主要リポジトリ)が含まれているリポジトリを照会できます。
このリストによると、 EPEL repo には最新バージョンが事前にビルドされています。このパッケージのバージョンは次のとおりです:cmake 28-2.8.11.2-1。
CentOS 6.5でcmake 2.8が必要でしたが、正しいバージョンが含まれているように見えるリポジトリを追加しようとしても、yumを使用しようとしても常にcmakeを2.6に保ちます。一種のハックですが、ルートとして次のコマンドを実行することで、必要なものを取得できました。
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6.8.noarch.rpm
yum install cmake28
cd /usr/bin
mv cmake cmake26
mv ccmake ccmake26
mv cpack cpack26
mv ctest ctest26
ln -s cmake28 cmake
ln -s ccmake28 ccmake
ln -s cpack28 cpack
ln -s ctest28 ctest