yumは古いバージョンのcmakeをインストールします


9

何らかの理由でyumcmakeを取得するために実行すると、古いバージョンがインストールされます。それは私のリポジトリリストが完全ではないためでしょうか?CentOS 6を使用していますが、非ネットインストールCDから最小限のデスクトップインストールを使用しています。誰かが私にレポリンクか何かをくれませんか?

Scientific Linuxでも同じことが起こります。

私はyum install cmakebashスクリプトで作業をしようとしているので、最後の手段として自分でコンパイルすることになります。


yum構成を確認します/etc/yum.repos.d/*。インストールされているバージョンをロックしている何かがありますか?
DopeGhoti 14年

私はそうは思わない、すべてが正常に見え、デフォルトであり、これはクリーンインストールです。
ドミニク

パッケージが存在するリポジトリは実際に設定されていenabled=1ますか?
DopeGhoti 2014年

1
パッケージが古くなっているとどうやって判断しますか?ディストリビューションのリポジトリに古いバージョンがあるだけではありませんか?
Strugee

最近、更新されたDebian GNU / LinuxベースのオペレーティングシステムでOpenCVビルドをいくつか作成する必要がありました。プリコンパイルされた利用可能なCMakeは古すぎてOpenCVをビルドできませんでしたが、CMakeをダウンロードしてビルドすると問題は非常にうまく解決されました。
41754 2014年

回答:


7

あなたは言っていませんが、どのバージョンを取得していて、どのバージョンを期待していますか?

どのリポジトリがありますか?

次のコマンドを使用して、システムがクエリを実行するように構成されているリポジトリを確認できます。

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

パッケージのURL

repoqueryコマンドを使用して、RPMがダウンロードされている場所を確認できます。

$ 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リポジトリには最新バージョンが事前にビルドされています。このパッケージのバージョンは次のとおりです:cmake 28-2.8.11.2-1。


ATrpms Testing repository必要なバージョンがあることがわかりました。インストールし、そのリポジトリを使用して最新バージョンを取得しました。ありがとうございます。
ドミニク

@Dominique-問題を解決してよかったです。
slm

この解決策をありがとう!また、yum / repo mgmtコマンドに関する追加情報を提供していただき、ありがとうございます。
jredd 14年

@jRadd-どういたしまして!
slm

6

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.