yum installiert eine alte Version von cmake

9

Aus irgendeinem Grund wird beim Ausführen yumvon cmake eine ältere Version installiert. Könnte es sein, dass meine Repo-Liste nicht vollständig ist? Ich verwende CentOS 6 mit einer minimalen Desktop-Installation von der Nicht-Net-Installations-CD. Könnte mir jemand einen Repo-Link geben oder so?

Das Gleiche passiert unter Scientific Linux.

Ich würde es als letzten Ausweg nehmen, es selbst zu kompilieren, weil ich versuche, yum install cmakeArbeit in einem Bash-Skript zu machen .

Dominique
quelle
Sehen Sie sich Ihre yumKonfiguration in an /etc/yum.repos.d/*. Gibt es irgendetwas, das die installierte Version sperrt?
DopeGhoti
Ich glaube nicht, alles sieht normal aus und ist Standard, dies ist eine Neuinstallation.
Dominique
Sind die Repositorys, in denen sich das Paket befindet, tatsächlich festgelegt enabled=1?
DopeGhoti
1
Wie entscheiden Sie, dass das Paket veraltet ist? Ist es nicht möglich, dass Ihre Distribution einfach eine ältere Version in ihren Repositories hat?
strugee
Ich musste kürzlich einige OpenCV-Builds in einem aktualisierten Debian GNU / Linux-basierten Betriebssystem erstellen. Das vorkompilierte verfügbare CMake war zu alt, um OpenCV zu erstellen, aber das Herunterladen und Erstellen von CMake löste das Problem sehr gut.
41754

Antworten:

7

Sie sagen nicht, aber welche Versionen erhalten Sie und welche Versionen erwarten Sie?

Welche Repositories habe ich?

Mit diesem Befehl können Sie herausfinden, für welche Repositorys Ihr System zum Abfragen konfiguriert ist:

$ 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

Paketinfo

Sie können jedes Paket abfragen, ob es installiert ist oder nicht 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 des Pakets

Mit dem repoqueryBefehl können Sie herausfinden, wo ein RPM heruntergeladen wird .

$ repoquery --location cmake
http://centos.mirrors.hoobly.com/6.5/os/x86_64/Packages/cmake-2.6.4-5.el6.x86_64.rpm

Welches ist Teil dieses Repositorys:

$ repoquery -i cmake | grep Repos
Repository  : base

Dies ist also ein Basis-Repository für die CentOS-Distribution, die dieses Paket bereitstellt.

Welche anderen Repositories haben es?

Mit pkgs.org können Sie abfragen, welche Repositorys ein bestimmtes Paket enthalten (zumindest die meisten wichtigen Repos) .

Laut dieser Liste hat das EPEL-Repo die neueste Version vorgefertigt. Die Version dieses Pakets lautet wie folgt: cmake 28-2.8.11.2-1.

slm
quelle
Ich fand, dass ATrpms Testing repositorydie Version hat, die ich brauche. Ich habe es installiert und dieses Repo verwendet, um die neueste Version zu erhalten, danke.
Dominique
@Dominique - toll, ich bin froh, dass du dein Problem gelöst hast!
slm
Vielen Dank für diese Lösung! Und nochmals vielen Dank für die zusätzlichen Informationen zu den Befehlen yum / repo mgmt.
jredd
@jRadd - du bist herzlich willkommen!
slm
6

Ich brauchte cmake 2.8 unter CentOS 6.5, aber meine Versuche, yum zu verwenden, hielten cmake auch immer bei 2.6, obwohl ich versuchte, Repos hinzuzufügen, die anscheinend die richtige Version enthielten. Es ist ein bisschen hackig, aber ich konnte das bekommen, was ich brauchte, indem ich die folgenden Befehle als root ausführte:

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
heenenee
quelle