yum instala una versión anterior de cmake

9

Por alguna razón, cuando ejecuto yumpara obtener cmake, instalará una versión anterior. ¿Podría ser porque mi lista de repositorios no está completa? Estoy en CentOS 6 usando una instalación mínima de escritorio desde el CD de instalación no neta. ¿Alguien podría darme un enlace de repositorio o algo así?

Lo mismo sucede en Scientific Linux.

Tomaría la compilación como último recurso porque estoy tratando de hacer que el yum install cmaketrabajo en un script bash.

Dominique
fuente
Mira tu yumconfiguración en /etc/yum.repos.d/*; ¿Hay algo allí que bloquee la versión instalada?
DopeGhoti
No lo creo, todo parece normal y es predeterminado, esta es una instalación limpia.
Dominique
¿Están los repositorios donde reside el paquete realmente configurados enabled=1?
DopeGhoti
1
¿Cómo decide que el paquete está desactualizado? ¿No es posible que tu distribución simplemente tenga una versión anterior en sus repositorios?
Strugee
Recientemente tuve que hacer algunas compilaciones de OpenCV en un sistema operativo basado en Debian GNU / Linux actualizado. El CMake disponible precompilado era demasiado viejo para compilar OpenCV, pero la descarga y construcción de CMake resolvió el problema muy bien.
41754

Respuestas:

7

No dice, pero ¿qué versiones está obteniendo y qué versiones espera?

¿Qué repositorios tengo?

Puede averiguar qué repositorios está configurado para consultar su sistema con este comando:

$ 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

Información del paquete

Puede consultar cualquier paquete si está instalado o no 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 del paquete

Puede averiguar dónde se está descargando un RPM utilizando el repoquerycomando.

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

Que es parte de este repositorio:

$ repoquery -i cmake | grep Repos
Repository  : base

Así que este es un repositorio base para la distribución CentOS que proporciona este paquete.

¿Qué otros repositorios lo tienen?

Puede consultar qué repositorios contienen un paquete específico (al menos la mayoría de los repositorios principales) utilizando pkgs.org .

Según esta lista, el repositorio de EPEL tiene la última versión preconstruida. La versión de este paquete es la siguiente: cmake 28-2.8.11.2-1.

slm
fuente
Descubrí que ATrpms Testing repositorytiene la versión que necesito. Lo instalé y usé ese repositorio para obtener la última versión, gracias.
Dominique
@Dominique: ¡genial, me alegra que hayas resuelto tu problema!
slm
¡Gracias por esta resolución! Y gracias [de nuevo] por la información adicional dada sobre los comandos yum / repo mgmt.
jredd
@jRadd: ¡de nada!
slm
6

Necesitaba cmake 2.8 en CentOS 6.5, pero mis intentos de usar yum también siempre mantenían cmake en 2.6, aunque intenté agregar repositorios que aparentemente contenían la versión correcta. Es un poco hacky, pero pude obtener lo que necesitaba ejecutando los siguientes comandos como root:

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
fuente